如何将Dictionary <enum,bool>属性绑定到GridViewColumn?</enum,bool>

时间:2011-03-01 21:24:49

标签: c# .net wpf data-binding listview

我正在尝试将EffectViewModel中存储的Dictionary属性绑定到ObservableCollection内,但在我希望看作复选框的列中显示为“(Collection)”。

GridViewColumn的Xaml是:

<GridViewColumn
    Width="100"
    Header="GPU"
    DisplayMemberBinding="{Binding ShaderSupport}">
    <GridViewColumn.CellTemplate>
        <DataTemplate>
            <CheckBox Margin="0"
                        HorizontalAlignment="Center"
                        IsChecked="{Binding Value}"/>
        </DataTemplate>
    </GridViewColumn.CellTemplate>
</GridViewColumn>

ShaderSupport的类型为Dictionary<ShaderType, bool>,我只想读取此GridViewColumn的ShaderType.GPU的bool值。

有什么想法吗?

编辑:使用它显示bool值为字符串,所以我认为我在正确的道路上:

DisplayMemberBinding="{Binding ShaderSupport[GPU]}">

1 个答案:

答案 0 :(得分:1)

试试这个:

<GridViewColumn
    Width="100"
    Header="GPU">
    <GridViewColumn.CellTemplate>
        <DataTemplate>
            <CheckBox Margin="0"
                        HorizontalAlignment="Center"
                        IsChecked="{Binding ShaderSupport[CPU]}"/>
        </DataTemplate>
    </GridViewColumn.CellTemplate>
</GridViewColumn>