2011-03-01 78 views
0

我試圖綁定存儲在ObservableCollection內的EffectViewModel中的Dictionary屬性,但它在我希望看作複選框的列中顯示爲「(集合)」。如何將字典<enum,bool>屬性綁定到GridViewColumn?

的XAML的GridViewColumn是這樣的:

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

ShaderSupportDictionary<ShaderType, bool>類型,我只是想在ShaderType.GPU bool值這個GridViewColumn閱讀的。

任何想法?

編輯:使用這說明我的布爾值作爲字符串,所以我在正確的道路,我認爲:

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

回答

1

試試這個:

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

謝謝帕夫洛,這個偉大的工程。如果我希望這是雙向的,只需使用Mode = TwoWay就可以工作嗎? – 2011-03-01 21:55:19

+0

@Joan - 我還沒有嘗試過,但我沒有看到它沒有任何理由。 – 2011-03-01 21:58:09

相關問題