[英]WPF: regarding the binding inside of DataGridTextColumns
今天,我注意到有关将DataGridColumn的标题绑定到ViewModel的奇怪行为。
以下绑定可以正常工作(DataGrid的名称为MyGrid):
<DataGridTextColumn Binding="{Binding Name}" Width="*" CanUserReorder="False" CanUserResize="False" IsReadOnly="True">
<DataGridTextColumn.HeaderTemplate>
<DataTemplate>
<TextBlock Text="{Binding ElementName=MyGrid, Path=DataContext.MyDeviceViewModel.CategoryHeader}"/>
</DataTemplate>
</DataGridTextColumn.HeaderTemplate>
</DataGridTextColumn>
而以下方法不起作用(它抱怨找不到MyGrid):
<DataGridTextColumn Binding="{Binding Name}" Width="*" CanUserReorder="False" CanUserResize="False" IsReadOnly="True">
<DataGridTextColumn.Header>
<TextBlock Text="{Binding ElementName=MyGrid, Path=DataContext.MyDeviceViewModel.CategoryHeader}"/>
</DataGridTextColumn.Header>
</DataGridTextColumn>
直接在Template或UIElement中绑定到视图模型有什么区别?
这应该工作
<TextBlock Text="{Binding MyDeviceViewModel.CategoryHeader}"/>
在同一控件中时,无需引用ElementName属性
高温超导
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.