【问题标题】:DataGridTextColumn getting DataContext propertyDataGridTextColumn 获取 DataContext 属性
【发布时间】:2014-04-16 13:39:08
【问题描述】:

您好,在 DataGridTextColumn 中,我正在绑定到一个新的 DataContext,它可以工作

    <DataGridTextColumn Header="Name" IsReadOnly="True" 
           Binding="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type Window}},Path=DataContext.CollectionName}"  Width="150">

但是,TextBox 显示“(集合)”,那么有没有办法在集合中正确显示?

在 DataGridComboBox 中您声明:

<Setter Property="DisplayMemberPath" Value="PropertyName"/>

但您在 DataGridTextColumn 中没有此属性。

谢谢

【问题讨论】:

    标签: wpf xaml datagrid datagridtextcolumn


    【解决方案1】:
    "{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type Window}},Path=DataContext.CollectionName.PropertyName}"
    

    应该绑定到给定的PropertyName

    【讨论】:

    • 我也这么认为(我同意逻辑是对的,但它从来没有奏效)
    • 好吧,我也认为你的整个绑定根本没有必要。这有什么原因吗?您要归档什么?
    • 我现在已经完成了,但是,我有 2 个组合框,它们的 itemsource 与 DataGrid 的 itemsource 不同。所以每当用户在组合框中选择一个 ID 时,我希望这个 ID 的名称出现在 DataGridTextColumn 中,但问题是,DataGridTextColumn 绑定到 DataGrid 的 DataContext,所以我无法实现这一点。 DataContext 必须是组合框之一
    • 问题出在哪里?如果您将ObservableCollection 绑定到您的DataGrid,您可以简单地添加一个新条目并且DataGrid 更改(假设您正确实现了INotifyPropertyChanged
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-05
    相关资源
    最近更新 更多