我有一個用戶控件。我想在我的用戶控件中創建一個可綁定的屬性。我創建了一個DependencyProperty如下:如何在WPF中創建可綁定屬性?
public static readonly DependencyProperty DateProperty =
DependencyProperty.Register("Date", typeof(DateTime), typeof(DaiesContainer),
new UIPropertyMetadata(DateTime.Now));
public DateTime Date
{
get { return (DateTime)GetValue(DateProperty); }
set
{
SetValue(DateProperty, value);
}
}
然後我用它在我的XAML:
<ctrls:DaiesContainer Date="{Binding Date, Mode=OneWay}"/>
在我的ViewModel,日期屬性的get方法被調用。但在我的用戶控件中,Date屬性未設置爲值。
你在[兼容模式(HTTP插入'DateTime'在XAML: //msdn.microsoft.com/en-us/library/dd631811.aspx)? –
你怎麼知道房產沒有設置?您尚未使用依賴項屬性的元數據註冊[PropertyChangedCallback](http://msdn.microsoft.com/zh-cn/library/system.windows.propertychangedcallback.aspx)。請注意,在[XAML]中設置屬性時,CLR包裝器的設置器不會被調用,如[此處]所述(http://msdn.microsoft.com/zh-cn/library/bb613563.aspx)。 – Clemens
@Clemens感謝這很好,但我必須調用非靜態方法。 –