WPF UserControl에 다음 코드가 있다고 가정합니다. Asset.ChildProperty
에 바인딩하고 싶습니다. Asset 속성이 변경되면 알림을받지 않기 때문에 현재 작동하지 않습니다. 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를 정의 할 수 있습니다. 변경 알림 방법에서는 아무 것도하지 않습니다. 그걸 직접 추가해야합니다. 자세한 내용은 내 대답을 참조하십시오. –