我有一個DataTable轉換爲實現INotifyPropertyChanged的模型。訂閱Window.xaml.cs中的PropertyChanged事件
這將綁定到一個帶有複選框的列表框。當複選框被選中時,PropertyChanged事件觸發。我想處理這個,因爲我有一個綁定到DataTable的DataGrid。我想根據選中的項目過濾該DataTable。
我想訂閱MainWindow.xaml.cs中的PropertyChange事件,但我不確定如何做到這一點,因爲在我的模型的構造函數中註冊處理程序時,如果我僅假設我只是創建X數量的處理程序需要一個?
以下是我有:
var categoryModel = ds.Tables[1].Rows.Cast<DataRow>()
.Select(x => x["Category"].ToString())
.Distinct()
.Select(y => new LanguageCategory { CategoryName = y, IsChecked = true });
public class LanguageCategory : INotifyPropertyChanged
{
private string categoryName;
private bool isChecked;
public event PropertyChangedEventHandler PropertyChanged;
public string CategoryName
{
get { return categoryName; }
set
{
categoryName = value;
NotifyPropertyChanged("CategoryName");
}
}
public bool IsChecked
{
get { return isChecked; }
set
{
isChecked = value;
NotifyPropertyChanged("IsChecked");
}
}
private void NotifyPropertyChanged(string info)
{
if (PropertyChanged != null)
{
PropertyChanged(this, new PropertyChangedEventArgs(info));
}
}
}
能否請您詳細闡述該問題的更多。爲什麼要在Window.xaml.cs中訂閱PropertyChanged? – ethicallogics
我已更新問題 – Jon