WPF 网格视图:属性“标头”设置多次

本文关键字:设置 标头 网格 视图 属性 WPF | 更新日期: 2023-09-27 18:37:02

我收到此编译器错误,但我认为我没有两次指定标头。

代码如下:

<GridViewColumn Header="Margin" Width="180" ctrls:SortableListView.SortPropertyName="Margin">
    <Binding Path="Margin" Converter="{StaticResource currencyStringConverter}" ConverterParameter="#0.00"></Binding>
</GridViewColumn>

我正在尝试绑定到列值,而不是列标题。这始终是"保证金"。

我尝试了几种变体,如下所示:

<GridViewColumn Width="180" ctrls:SortableListView.SortPropertyName="Margin">
    <Binding Path="Margin" Converter="{StaticResource currencyStringConverter}" ConverterParameter="#0.00"></Binding>
    <GridViewColumnHeader Content="Margin"></GridViewColumnHeader>
</GridViewColumn>

但都产生相同的结果。

我做错了什么?

WPF 网格视图:属性“标头”设置多次

尝试以下代码:

<GridViewColumn Header="Margin" 
DisplayMemberBinding="{Binding Path=Margin, Converter={StaticResource currencyStringConverter} , ConverterParameter='#0.00'}" 
ctrls:SortableListView.SortPropertyName="Margin"/>

从 msdn:

[LocalizabilityAttribute(LocalizationCategory.None, Readability = Readability.Unreadable)]
[ContentPropertyAttribute("Header")]
[StyleTypedPropertyAttribute(Property = "HeaderContainerStyle", StyleTargetType = typeof(GridViewColumnHeader))]
public class GridViewColumn : DependencyObject, 
    INotifyPropertyChanged

此对象的Content属性是 Header,因此您无法执行此操作:

<GridViewColumn Header="Margin" ...>
    <Binding ...
</GridViewColumn>

因为在这种情况下,您设置了两次标题。