【问题标题】:wpf toolkit (Feb 2010) datagrid with MVVM - style reveals name of view model on 'spare column'带有 MVVM 的 wpf 工具包(2010 年 2 月)数据网格 - 样式显示“备用列”上的视图模型名称
【发布时间】:2011-03-01 03:05:20
【问题描述】:

我刚刚使用最新的 WPF 工具包更新了我的应用程序,现在我的样式出现了问题。

当我将一些数据(例如两列)绑定到网格时,右侧备用区域的标题显示 ViewModel 的名称。

因此,如果我将 IEnumerable 与两列绑定,则网格标题看起来像

Column1、Column1、[命名空间].MyViewModel

在 2010 年 2 月更新之前,它只是曾经有 Column1、Column2 - 最后的空间是空白的。

我可以理解为什么,因为数据网格数据上下文是 ViewModel,而 Columns 似乎有不同的 DataContext ...但我不知道应该如何修复它。

我正在定义我的标题样式如下...

....

<WpfToolkit:DataGridHeaderBorder
    <Border BorderBrush="Blue" BorderThickness="0,1,0,0">
        <TextBlock Text="{Binding}" Margin="4,0,4,0" />
    </Border>
</WpfToolkit:DataGridHeaderBorder>

....

我现在是否需要为“备用列”或其他东西使用单独的样式?

有人可以帮忙吗?

干杯,

安迪

【问题讨论】:

    标签: wpf styles wpfdatagrid wpftoolkit


    【解决方案1】:

    我们决定迁移到 Telerik 网格以获取组功能,因此从未解决目前的问题。这可能是程序积累的大量样式中的某种东西!

    【讨论】:

      【解决方案2】:

      在文本块 (&lt;TextBlock Text="{Binding}" Margin="4,0,4,0" /&gt;) 中,您直接绑定到 ViewModel,它是一个对象。作为后备,object.ToString() 在 Binding 时使用,它是 ViewModel 的名称。你必须指定一个路径,即。 &lt;TextBlock Text="{Binding Text}" Margin="4,0,4,0" /&gt; 绑定到。

      【讨论】:

      • 但是这样做意味着具有实际值的数据上下文的列标题将不起作用。
      • 就不要绑定文字了?
      • 对不起,我可能还不清楚,我不希望绑定应用于“备用列” - 只有其他列,我不知道它是不同类型还是什么?在 2010 年 2 月更新之前它曾经很好。
      • 您好,感谢您的帮助 - 我已在问题中添加了更多信息。
      猜你喜欢
      • 1970-01-01
      • 2020-05-26
      • 2011-06-13
      • 2011-10-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-03-01
      • 2010-12-17
      相关资源
      最近更新 更多