【发布时间】:2010-11-29 17:22:42
【问题描述】:
我有一个下拉列表控件,它的 ItemsSource 是 T_LookupTable 类型的项目集合,它是数据库中的一个表,其中一个列是“isEnabled”。 如何将 XAML 中 ComboBoxItem 的 IsEnabled 属性绑定到集合中的此值? 此外,我在应用程序中有许多使用相同方法的下拉菜单,所以如果可能的话,我想通过静态资源以某种方式使其成为全局功能,这样可能吗?我找到了这段 XAML,它可以工作,但我希望这些项目在下拉列表中显示为灰色,并且此方法仅在您无法单击它们的地方禁用它们,但没有显示该项目的视觉指示器已禁用:
<ComboBox.ItemContainerStyle>
<Style TargetType="ComboBoxItem">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="ComboBoxItem">
<ContentPresenter x:Name="ContentPresenter" IsHitTestVisible="{Binding Path=isEnabled}" />
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</ComboBox.ItemContainerStyle>
【问题讨论】:
标签: silverlight mvvm