是否有可用于制作自动更新对象的对象或界面,并将这些更新过滤到WPF中的UI?
基本上我正在寻找这样的东西:
<TextBlock Text="{Binding Source={StaticResource myClass}, Path=DataObject}" />
public class MyClass
{
public AutoUpdatingObject DataObject { get; set; }
}
public class AutoUpdatingObject: ???
{
???
}
不,我不能让MyClass实现INotifyPropertyChanged。我需要AutoUpdatingObject类才能通知WPF更改。
答案 0 :(得分:1)
实现INotifyPropertyChanged不是更新绑定的唯一方法,您也可以在不实现接口的情况下使用事件。
Using a CLR Class as the Binding Source Object
如果你没有实施 INotifyPropertyChanged,那么你必须 安排自己的通知 系统,以确保使用的数据 在绑定中保持最新状态。您可以 提供变更通知 支持PropertyChanged模式 对于您想要更改的每个属性 通知。支持这一点 模式,你定义一个 每个PropertyNameChanged事件 属性,其中PropertyName是 该物业的名称。你提高了 每当房产发生变化时都会发生事件。
在你的情况下,MyClass看起来像这样:
public class MyClass
{
private AutoUpdatingObject dataObject;
public AutoUpdatingObject DataObject
{
get { return dataObject; }
set { dataObject = value; DataObjectChanged(this, new EventArgs()); }
}
public event EventHandler DataObjectChanged = delegate { };
}