![](/img/trans.png)
[英]WPF - Adding a Tooltip to a GridViewColumn with DisplayMemberBinding
[英]WPF: Use PriorityBinding for DisplayMemberBinding in GridViewColumn
我已经在WPF中为GridViewColumn
设置了DisplayMemberBinding
。
<GridViewColumn Header="{x:Static resx:TextResources.ExcutionTimesHeaderErrorType}" DisplayMemberBinding="{Binding Exception, Mode=OneWay, Converter={StaticResource typeConverter}, FallbackValue='---'}"/>
typeConverter
模仿Exception.GetType()
扩展名,以在Gui中以字符串形式显示异常的类型。 如果没有异常,并且此值为null,我想在此列中输出另一个属性。 现在,我想像DisplayMemberBinding
一样使用PriorityBinding
,但是GridViewColumn
除了PriorityBinding
作为'sub-element'之外都没有做,也没有可能将DisplayMemberBinding
属性用作'sub-element'。 有没有办法像这样对GridViewColumn
使用PriorityBinding
:
<GridViewColumn Header="{x:Static resx:TextResources.ExcutionTimesHeaderErrorType}">
<PriorityBinding>
<Binding Path="Exception" Mode="OneWay" Converter="{StaticResource typeConverter}" IsAsync="True" />
<Binding Path="AnotherProperty" IsAsync="True" />
</PriorityBinding>
</GridViewColumn>
编辑
我将代码更改为以下“ ASh”的建议,但不起作用:
<GridViewColumn Header="{x:Static resx:TextResources.ExcutionTimesHeaderErrorType}">
<GridViewColumn.DisplayMemberBinding>
<PriorityBinding FallbackValue="-*-">
<Binding Path="Exception" Converter="{StaticResource typeConverter}" Mode="OneWay" IsAsync="True"/>
<Binding Path="Comment" FallbackValue="---"/>
</PriorityBinding>
</GridViewColumn.DisplayMemberBinding>
</GridViewColumn>
如果Exception
属性为null,则显示值为空。 我检查了是否设置了第二个绑定属性“ comment”。
这两个绑定正常工作:
<GridViewColumn Header="{x:Static resx:TextResources.ExcutionTimesHeaderComment}" DisplayMemberBinding="{Binding Comment, FallbackValue='---'}"/>
<GridViewColumn Header="test2" DisplayMemberBinding="{Binding Exception, Mode=OneWay, Converter={StaticResource typeConverter}, FallbackValue='---'}"/>
您缺少<GridViewColumn.DisplayMemberBinding>
标记:
<GridViewColumn>
<GridViewColumn.DisplayMemberBinding>
<PriorityBinding>
<Binding Path="Exception" Mode="OneWay" Converter="{StaticResource typeConverter}" IsAsync="True" />
<Binding Path="AnotherProperty" IsAsync="True" />
</PriorityBinding>
</GridViewColumn.DisplayMemberBinding>
</GridViewColumn>
GridViewColumn标有ContentProperty属性,内容属性为Header: [ContentProperty("Header")]
。 因此, <GridViewColumn>
标记的内部内容没有GridViewColumn.
前缀应分配给Header属性
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.