【发布时间】:2011-03-03 21:30:52
【问题描述】:
在我的ViewModel 类中,我有一个静态属性AllSupport,但我不知道如何正确绑定它。 ListView 已绑定到具有 AllSupport 静态属性的 ObservableCollection AllEffects。
我用过这个:
<GridViewColumn
Width="Auto"
Header="GPU">
<GridViewColumn.CellTemplate>
<DataTemplate>
<CheckBox
Margin="0"
HorizontalAlignment="Center"
IsChecked="{Binding AllSupport[HardwareType].SupportList.IsSupported, Mode=TwoWay}"/>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
AllEffects 是 ObservableCollection 的 EffectViewModel ,其中有一个名为 AllSupport 的静态属性,其类型为:
Dictionary<HardwareType, List<EffectSupport>> 其中:
HardwareType 是一个枚举,并且
EffectSupport 是一个实例类,它有一个名为 IsSupported 的布尔属性。
我也试过这个,但它抱怨在 ViewModel 类上找不到 IsSupported:
IsChecked="{Binding AllSupport[HardwareType].SupportList, Path=IsSupported
任何想法,如何指定此绑定?
【问题讨论】:
-
你要绑定哪个静态属性?根据您的问题,我了解到您要绑定的属性是
IsSupported,但从您的描述来看,它似乎是EffectSupport类的常规属性。 -
谢谢你是对的,我认为我忽略了一个小细节。将编辑,但 IsSupported 是 ViewModel 类中静态属性的实例属性。
-
所以目前我的代码返回一个列表,我如何指定在 xaml 中获取其中的每个项目?
标签: c# .net wpf data-binding