繁体   English   中英

WPF:关于DataGridTextColumns内部的绑定

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM