使用Dictionary键值的WPF GridViewColumn DisplayMemberBinding

时间:2011-08-17 14:32:18

标签: c# wpf xaml listview gridview

我还没有在Stack或Google上找到类似的东西,所以也许它不可能,但希望聪明的人会有一个想法。我对WPF / XAML有点不满意。

我有一个类似于此类的自定义类。

public class LogEntry
{
   public Diciontary<string, string> Stuff;
   public string MyOtherProperty;   
}

我的GridView将有2列。一个用于MyOtherProperty,一个用于Stuff [“Stuff1”]。假设我无法将Diciontary更改为更容易绑定的东西。

我将ListView绑定到List<LogEntry>。我将如何在这种情况下完成它。

<ListView ItemsSource="{Binding}" DataContext="{Binding}">
   <ListView.View>
      <GridView>
         <GridView.Columns>
            <GridViewColumn DisplayMemberBinding="{Binding MyOtherProperty}"></GridViewColumn>
            <GridViewColumn DisplayMemberBinding="**{Binding Stuff[Stuff1]}**"></GridViewColumn>
         </GridView.Columns>
      </GridView>
   </ListView.View>
</ListView>

有什么想法吗?感谢。

1 个答案:

答案 0 :(得分:4)

WPF支持绑定属性而不支持字段。将LogEntry类更改为下面,它应该可以工作。

public class LogEntry
{
    public Dictionary<string, string> Stuff { get; set; }
    public string MyOtherProperty { get; set; }
}