之一,我有一個數據觸發器這樣定義的:視圖模型的對象綁定 - 如何通知UI時,其性能變化
<DataTrigger Binding="{Binding Path=DataContext.MyObject.MyProperty, Mode=OneWay, RelativeSource={RelativeSource AncestorType=UserControl}}" Value="False">
<Setter Property="IsEnabled" Value="False" />
</DataTrigger>
myObject的是在視圖模型。現在,當MyObject的MyProperty更改時,它不會通知UI,即使MyProperty通知OnPropertyChange。當我們使用Microsoft Prism作爲框架時,對象MyObject向容器註冊。
我該如何得到這個工作?
編輯: myObject的定義是這樣的:
public class MyObject : INotifyPropertyChanged
{
public event PropertyChangedEventHandler PropertyChanged;
[NotifyPropertyChangedInvocator]
protected virtual void OnPropertyChanged(string propertyName)
{
var handler = PropertyChanged;
if (handler != null) handler(this, new PropertyChangedEventArgs(propertyName));
}
private bool _myProperty;
public bool MyProperty
{
get { return _myProperty; }
set
{
if (value == _myProperty)
return;
_myProperty = value;
OnPropertyChanged("MyProperty");
}
}
}
發佈「MyObject」的定義 - 很難只用觸發就診斷很多。 – JerKimball 2013-03-23 03:04:02
完成,我所做的是MyProperty得到頻繁填充,它應該更新UI上的狀態 – Shankar 2013-03-23 03:12:41
嗯......沒有東西跳出......爲什麼'Mode = OneWay'上的觸發器綁定?哦,你看到在附帶調試器的輸出窗口中有任何綁定錯誤嗎? – JerKimball 2013-03-23 03:14:43