1
我見過,但是,似乎官方MSDN文檔中關於DependencyProperty.RegisterAttached
它不以表示此規定的命名慣例由this question命名約定DependencyProperty.RegisterAttached
暗示我知道代碼必須是這樣的這:
public static readonly DependencyProperty HandleKeyPressEventProperty =
DependencyProperty.RegisterAttached("HandleKeyPressEvent",
typeof(bool),
typeof(MyDataGrid),
new UIPropertyMetadata(true));
public static bool GetHandleKeyPressEvent(DependencyObject obj)
{
return (bool)obj.GetValue(HandleKeyPressEventProperty);
}
public static void SetHandleKeyPressEvent(DependencyObject obj, bool value)
{
obj.SetValue(HandleKeyPressEventProperty, value);
}
在這種情況下是保持該名稱所需的獲取和設置方法?所需附屬財產以「財產」結束?另外,我可以讓我的代碼,這樣的事情,而不是:
public static readonly DependencyProperty HandleKeyPressEventProperty =
DependencyProperty.RegisterAttached("FooEvent", //change registered name
typeof(bool),
typeof(MyDataGrid),
new UIPropertyMetadata(true));
public static bool GetHandleKeyPressEvent(DependencyObject obj)
{
return (bool)obj.GetValue(HandleKeyPressEventProperty);
}
public static void SetHandleKeyPressEvent(DependencyObject obj, bool value)
{
obj.SetValue(HandleKeyPressEventProperty, value);
}
誰能收拾這個「神奇」的命名方式,什麼樣的標準我必須遵循?
好吧,從我可以告訴,改變像'GetIsDirty'到'GetIsDirtyFoo'將導致附加屬性停止工作...所以,一個神奇的命名方案,並沒有真正的文檔記錄 – Earlz
不知道它是否沒有記錄。 4年前開始學習XAML開發[[WPF Unleashed]](http://www.amazon.com/WPF-4-Unleashed-ebook/dp/B003UBAYXE/ref=sr_1_1_title_1_kin?s=books&ie=UTF8&qid=1356713126&sr= 1-1&keywords = wpf + 4.0 + unleashed)Adam Nathan - 我記得在那裏讀了一些關於各種必需的命名約定的東西,所以它必須記錄在某處。除非它僅記錄爲WPF,而不是用於WinRT/XAML。 –
查看[自定義附加屬性](http://msdn.microsoft.com/en-us/library/windows/apps/hh965327.aspx)文章的確如此:「本主題解釋如何將附加屬性實現爲一個依賴項屬性和**如何定義您的附加屬性在XAML **中可用所必需的訪問器約定。「 –