【问题标题】:How to get a Grid.Column value in a binding expression [duplicate]如何在绑定表达式中获取 Grid.Column 值 [重复]
【发布时间】:2019-09-13 04:12:50
【问题描述】:

我需要通过 Grid.Column 值设置背景属性。我的想法是像这样简单的 DataTrigger

<DataTrigger Binding="{Binding Grid.Column, ElementName=MyElement}" Value="2">
        <Setter Property="Background" Value="#F2F2F2"/>
</DataTrigger>

MyElement 是一个通用的 wpf 控件,例如:

<Border x:Name="MyElement" Grid.Column="2">
      Content
</Border>

但这不起作用,Visual Studio 说:Cann't resolve property Grid

我可以使用 C# Grid.GetColumn(MyElement) 作为解决方法。但我想知道,这里有没有唯一的 xaml 解决方案?

【问题讨论】:

  • 你是什么元素'MyElement'?
  • 这是通用的 wpf 元素。在这种情况下,它是``` 内容 ``
  • @Aakanksha 我更新了这个问题。谢谢你帮助我
  • 您不能使用边框元素将 Grid.Column 属性绑定到您的文本框。 Border 类中将不包含 Grid 属性。只需使用网格名称绑定到文本框。
  • 我不明白。我不需要绑定Grid.Column我需要阅读Grid.ColumnDataTrigger中的某些元素

标签: wpf binding datatrigger wpf-grid


【解决方案1】:

要绑定到附加属性,请在附加属性周围放置括号。

<DataTrigger Binding="{Binding Path=(Grid.Column), ElementName=MyElement}" Value="2">
        <Setter Property="Background" Value="#F2F2F2"/>
</DataTrigger>

【讨论】:

  • 哦,这很简单。谢谢:-)
猜你喜欢
  • 2012-12-30
  • 2018-11-20
  • 2012-03-31
  • 1970-01-01
  • 2020-09-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-02-19
相关资源
最近更新 更多