[英]WPF Control binding sequence
我正在編寫自己的 WPF 控件。
在我的控件代碼中,如何指定依賴屬性綁定的順序/優先級?
<listselector:ChListSelector
Grid.Row="3"
SelectableGridLabelText="My Label"
SelectedGridLabelText="My Other Label"
SelectableItems="{Binding Path=SelectableItems, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
SelectedItems="{Binding Path=SelectedItems, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
SelectableGridColumns="{Binding Path=SelectableGridColumns, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
SelectedGridColumns="{Binding Path=SelectedGridColumns, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
/>
我需要確保在兩個“項目”屬性之前綁定兩個“GridColumns”屬性(因為 GridColumns 屬性定義了我的控件上的幾個網格如何顯示項目)
您真的不想指定綁定到依賴屬性的順序。 而且我認為沒有任何方法可以明確地做到這一點。
您應該檢查依賴屬性的 PropertyChanged 回調中的其他屬性值,然后根據它們的狀態執行操作。
例如:設置項目屬性時,請在更新控件的 rest 之前檢查以確保網格屬性不是 null(或使用標志設置)。 如果它們是 null,不要做任何事情。 隨后,當設置網格屬性時,您可以更新控件的 rest。 (您還需要檢查不是 null 的項目。)
或者為了簡化它,只需為控件設置一個Setup()
方法,null 在執行之前檢查所有必需的屬性,並在每次設置屬性時調用它。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.