データグリッドにバインドされた観察可能なコレクションがあります。このコレクションは、検索結果から入力されます。データグリッドにアイテムを追加することもできます。元のコレクションの一部だった行を無効にしたい。私が追加した新しい行は、編集可能である必要があります。私の制限は、データトリガーで使用するコレクションにブール値のプロパティを含めることができないことです。それを行う方法はありますか?
編集:MVVMフレームワークを使用していることを忘れていました。
データグリッドにバインドされた観察可能なコレクションがあります。このコレクションは、検索結果から入力されます。データグリッドにアイテムを追加することもできます。元のコレクションの一部だった行を無効にしたい。私が追加した新しい行は、編集可能である必要があります。私の制限は、データトリガーで使用するコレクションにブール値のプロパティを含めることができないことです。それを行う方法はありますか?
編集:MVVMフレームワークを使用していることを忘れていました。
コレクション内のアイテムに「IsEnabled」プロパティを追加できない場合は、それらのアイテムのクラス/タイプから継承する新しいクラスをいつでも作成できます。
public class MyDataGridPresenterClass : OriginalItemClass
{
public bool IsEnabled { get; set; }
}
そして、これを新しいものとして使用しtype
てください。これを行うのをObservableCollection
妨げるものは何もありません...そしてもちろん、それはそれを継承しているので、すべてMyDataGridPresenterClass
もそうです。OriginalItemClass
だからあなたは持つことができます
ObservableCollection<MyDataGridPresenterClass> DataGridItems
{
get { return this.dataGridItems; }
set
{
this.dataGridItems = value;
RaisePropertyChanged("DataGridItems");
}
}
これでIsEnabled
プロパティができたので、言及したDataTriggerで使用できます。変更はしていませんOriginalItemClass
。誰もが満足しています。:) 後もう一つ。明確にするために:)MVVMはフレームワークではありません...MVVMはデザインパターンです。これがお役に立てば幸いです:)よろしくお願いします:)