我試圖找出HeaderedContentControl中的項目來自哪個項目不是我的。下面的代碼:DataContext =「{Binding}」是什麼意思?
<HeaderedContentControl
Content="{Binding Path=Workspaces}"
ContentTemplate="{StaticResource WorkspacesTemplate}"
Header="Workspaces"
Style="{StaticResource MainHCCStyle}"
DataContext="{Binding}" // <--- this
/>
<DataTemplate x:Key="WorkspacesTemplate">
<TabControl
IsSynchronizedWithCurrentItem="True"
ItemsSource="{Binding}"
ItemTemplate="{StaticResource ClosableTabItemTemplate}"
Margin="4"
/>
所以讓我們來看看它:
- 的ContentTemplate屬性描述的項目是如何desplayed。
- WorkspacesTemplate設置的ItemsSource的屬性{結合}這意味着它綁定到其DataContext屬性
- 所以我看HeaderedContentControl的DataContext的(HeaderedContentControl的DataContext的),但它被描述爲「{結合}」,以及...
這是什麼意思?
我對「大多數情況下」很感興趣。何時不重複? – Grhm
在它自己的我*漂亮*確定它總是多餘的,但有一些有效的用例,如果你包括轉換器,更新觸發器等來改變綁定的行爲 –
最常見的用法是重置控件上的DataContext它們已從父級繼承了一個被重寫的DataContext,返回原始值。 –