1
我有一个ListBox的模板。在ListBox中,我在ListBoxItems上有一个模板。我想要禁用这些项目中的一部分(我仍在处理我想用来制作“事件”的消息,因此我现在只是放入IsSelected)wpf - 模板 - 传递模板项目作为ConverterParameter
我的问题是我需要获取ListBoxItem的一些数据知道它是否应该被禁用或不(也就是我们现在正在查看哪一个...)
我以为我会使用ConverterProperty,但它似乎只允许资源和硬编码值(我不能用反射来禁止数据绑定,我不想这样做)。
我试着传入RelativeSource Self和ConverterParameter,并且只传入了一个不会转换为ListBoxItem的RelativeSource类型的对象。
任何想法?
<Style x:Key="CheckBoxListStyle" TargetType="ListBox">
<Style.Resources>
<Style TargetType="ListBoxItem">
<Style.Triggers>
<DataTrigger Binding="{Binding IsSelected,
RelativeSource={RelativeSource Self},
Converter={StaticResource DisableWorkItemConverter},
ConverterParameter={RelativeSource Self}}" Value="True">
<Setter Property="IsEnabled" Value="False"/>
</DataTrigger>
</Style.Triggers>
</Style>
</Style.Resources>
</Style>
谢谢。这很好用! – Vaccano 2009-12-11 03:28:46
其有趣的,我做了这个几次(试图绑定一个转换器参数)之前记住多绑定:) – 2009-12-11 05:13:54