如果我編寫自定義WPF控件,我應該確保在XAML中設置屬性的順序不會影響控件的行爲。例如:WPF - 應該自定義控件屬性順序嗎?
<MyControl Prop1="Value" Prop2="Value" Prop3="Value" />
如果上面的XAML來代替書面
<MyControl Prop3="Value" Prop2="Value" Prop1="Value" />
如果用戶希望控制的狀態,在這兩種情況下一樣的嗎? 或者可以,我需要訂單嗎?
如果我編寫自定義WPF控件,我應該確保在XAML中設置屬性的順序不會影響控件的行爲。例如:WPF - 應該自定義控件屬性順序嗎?
<MyControl Prop1="Value" Prop2="Value" Prop3="Value" />
如果上面的XAML來代替書面
<MyControl Prop3="Value" Prop2="Value" Prop1="Value" />
如果用戶希望控制的狀態,在這兩種情況下一樣的嗎? 或者可以,我需要訂單嗎?
你不應該強制開發者遵循這樣的屬性順序。您不能要求開發人員記住寫入屬性的正確順序。
我,例如,使用自動訂購的屬性的插件。
順序無關緊要。在任何UI事件發生之前,該對象的屬性都會創建爲&。實際上,XML規範說屬性順序沒有定義&沒有什麼區別。
的問題是,是否其確定編寫自定義的控制,其中,爲了不* *事 –
你不能做到這一點,可以嗎?你怎麼能讓XAML解析器做到這一點? –
你能告訴我規範說明屬性順序沒有被定義並且沒有區別嗎? 「訂單無關緊要」和「確保訂單不會影響控件行爲」有所不同。「 – declouet
對於標準的XAML屬性,順序可以是任意的。但是,如果您創建了自己的UserControl
,那麼如果PropertyMetadata
中的屬性邏輯依賴於某些參數屬性,則順序可能很重要。
我想,好的做法是不以某種順序指定參數創建一個控制,因爲它很難記住屬性的所有訂單,因此不便於終端用戶。
對於依賴性屬性,如果用戶未指定此值,則使用默認值。應設計控制,以便根本不能指定某些值或不按正確順序指定。
你使用的是什麼plagin? –
我用ReSharper的插件'的XAML Attritbute訂購Plugin.' –