假設我在WPF UserControl中有以下代碼。我想綁定到Asset.ChildProperty
。目前無法正常工作,因爲我在資產屬性更改時沒有收到通知。如何安排事項,以便每當AssetID更改時通知都會觸發Asset屬性?WPF中的依賴屬性 - 我如何綁定它?
public static readonly DependencyProperty AssetIdProperty = DependencyProperty.Register("AssetId", typeof(string), typeof(GaugeBaseControl));
[Browsable(false), DataMember]
public string AssetId
{
get { return (string)GetValue(AssetIdProperty); }
set { SetValue(AssetIdProperty, value); }
}
[DisplayName("Asset Item"), Category("Value Binding")]
public AssetViewModel Asset
{
get { return Manager.Models.FirstOrDefault(m => m.Model.UniqueId == AssetId); }
set
{
if (value == null)
AssetId = string.Empty;
else
AssetId = value.Model.UniqueId;
}
}
那麼在DependencyObject上實現它有什麼利益衝突嗎? – Brannon
而不是DependencyOjbect的重點,你不必實現該接口? – Brannon
DependencyObject允許您定義可用作綁定目標的DependencyProperties。它沒有做任何改變通知的方式。你必須添加這個。查看我的答案以獲取更多信息。 –