【问题标题】:WPF Binding Converter for Collection用于集合的 WPF 绑定转换器
【发布时间】:2010-11-04 15:11:10
【问题描述】:

我有一个用于显示文件结构的 WPF 树视图。每个树项都有一个枚举集合来确定项目的自定义状态。 IE。 ObservableCollection<enumType> statusCollection;

当树项具有这些状态之一时,我会显示几个省略号...如下所示:

<Ellipse Margin="3,0" Visibility="{Binding StatusCollection, Converter={StaticResource VisibilityConverter}}" StrokeThickness="1" Stroke="Black" Width="12" Height="12" Fill="Red" />

有没有办法可以对多个省略号使用相同的转换器来检查特定状态...也许通过参数?现在在转换器中,我遍历集合以寻找特定的枚举...这样做,我必须为每个创建的枚举创建一个新的转换器,这并不理想。

更好的是,我将如何为 treeviewitem 中的每个状态动态创建 Ellipses?

【问题讨论】:

    标签: wpf collections binding typeconverter


    【解决方案1】:

    您可以将ConverterParameter 添加到Binding

    Visibility="{Binding StatusCollection,
          Converter={StaticResource VisibilityConverter},
          ConverterParameter={x:Static local:MyEnumType.EnumValue}}"
    

    然后这将作为parameter(第三个参数)传递到您的IValueConverter

    Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
    

    然后,您可以根据需要在转换器中使用该参数。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2010-12-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-16
      • 2012-04-15
      • 2011-10-22
      相关资源
      最近更新 更多