前提・実現したいこと
c# ReactivePropertyとReactiveCollection を使用し、ある条件をみたした場合にボタンが実行可能になるようにしたいです。
具体的には
Entryに値を入力し、Buttonを押すと その値がCollectionViewに追加されます。
Entryの値が空の場合や、すでに同じ値がCollectionViewに存在する場合はButtonを無効化したいです。
発生している問題・エラーメッセージ
CS0411 メソッド 'Observable.CombineLatest<TSource1, TSource2, TResult>(IObservable<TSource1>, IObservable<TSource2>, Func<TSource1, TSource2, TResult>)' の型引数を使い方から推論することはできません。型引数を明示的に指定してください
上記のようなエラーがでるので 、.ToObservable()やObserveProperty() を付けてとやってみたのですが、変わらず。
該当のソースコード
xaml
1 <Entry Text="{Binding InputSerial.Value}" /> 2 <Button Command="{Binding BtnInputSerial}" /> 3 <CollectionView ItemsSource="{Binding ItemSerialsUse}" />
c#
1//宣言部 2public ReactiveProperty<string> InputSerial { get; set; } = new ReactiveProperty<string>(); 3public AsyncReactiveCommand BtnInputSerial { get; set; } 4public ReactiveCollection<string> ItemSerialsUse { get; set; } = new ReactiveCollection<string>(); 5 6//コンストラクタ ここでVisial Studioがエラー警告してきます。 7 this.BtnInputSerial = this.InputSerial.CombineLatest(this.ItemSerialsUse , (x, y) => 8 (!string.IsNullOrWhiteSpace(x) && !y.Any(z => z == x)) 9 .ToReactiveProperty().ToAsyncReactiveCommand(); 10 11
補足情報(FW/ツールのバージョンなど)
Visual Studio Profesisonal 2019 Version 16.4.6
.NET Standard 2.1
Xamarin.Forms 4.5.0.356
ReactiveProperty 6.2.0
Prism.Unity.Forms 7.2.0.1422
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/03/25 11:11
2020/03/25 11:16
2020/03/25 23:32