故障排除依賴性依賴性綁定在usercontrols中
>將UserControl的DataContext
設置為this
>可以意外地破壞數據綁定到父對照屬性。 之所以發生這種情況,是因為綁定失去了DataContext
屬性的繼承。
問題解釋了 當UserControl的
設置為自身時,usercontrol中的綁定嘗試從父控件的視圖模型訪問屬性將失敗。 綁定機制找不到目標屬性,因為它在錯誤的上下文中(USERCONTROL本身,而不是其父母)。>
DataContext
>
RelativeSource
>
解決方案是避免在UserControl的構造函數中設置
以顯式地針對父控件的DataContext = this
RelativeSource
。
DataContext
這是調整XAML綁定的方法:
現在,此綁定正確地搜索了視覺樹,以找到類型
<code class="language-xml"><TextBox Text="{Binding SelectedFile, RelativeSource={RelativeSource AncestorType={x:Type UserControl}}}" /></code>>的最近祖先的
要完成設置,請在父級視圖模型中綁定USERCORTROL的DataContext
屬性:UserControl
>
這種方法可確保USERCORTROL的SelectedFile
依賴關係和父母的視圖模型屬性之間的適當連接,從而解決了綁定問題。
以上是為什麼將DataContext設置為usercontrol中的'斷開依賴關係”綁定?的詳細內容。更多資訊請關注PHP中文網其他相關文章!