代码之家  ›  专栏  ›  技术社区  ›  Chris Klepeis

用于集合的WPF绑定转换器

  •  2
  • Chris Klepeis  · 技术社区  · 15 年前

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

    我有几个省略号,当一个treeitem有一个这样的状态时显示。。。像这样的:

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

    有没有一种方法可以使用同一个转换器来检查多个椭圆的特定状态。。。也许是因为争吵?现在在转换器中,我循环遍历集合以查找特定的枚举。。。这样做,我将不得不为创建的每个枚举创建一个新的转换器,这并不理想。

    更好的是,我如何为treeviewitem中的每个状态动态创建椭圆呢?

    1 回复  |  直到 15 年前
        1
  •  4
  •   Steve Greatrex    15 年前

    你可以加一个 ConverterParameter Binding

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

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

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