我试图找出HeaderedContentControl中的项目来自一个不属于我的项目.这是代码:
<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"
/>
Run Code Online (Sandbox Code Playgroud)
所以让我们检查一下:
那是什么意思?
Ste*_*rex 25
在没有看到更多代码的情况下,很难确定,但DataContext="{Binding}"通常是不必要的,因为当前绑定上下文中的任何对象都会自动将其DataContext属性设置为等效的{Binding}.
记得:
Property="{Binding}"表示"设置this.Property为评估值this.DataContext"Property="{Binding Path=SubProperty}"表示"设置this.Property为评估值this.DataContext.SubProperty"这意味着DataContext="{Binding}""设置this.DataContext为评估值this.DataContext",这在大多数情况下都是多余的!
{Binding}类似于绑定“ this”或当前数据上下文-从父级分配或继承。为了更好地理解,等效于{Binding}is {Binding .}或{Binding Path=.}
| 归档时间: |
|
| 查看次数: |
13694 次 |
| 最近记录: |