【问题标题】:WPF: Reference Visibility enum value in MultiBinding Binding SourceWPF:MultiBinding 绑定源中的引用可见性枚举值
【发布时间】:2015-01-23 04:09:50
【问题描述】:

我编写了一个通用的基于前缀运算符的多绑定转换器,它采用可以是运算符或值的绑定值列表,然后根据已定义的一组运算符的预定义行为计算值。

像这样:

<MenuItem.Background>
<MultiBinding Converter="{StaticResource ArithmeticsConverter}">
    <Binding Source="?"/>
    <Binding Path="IsDirty"/>
    <Binding>
        <Binding.Source>
            <SolidColorBrush Color="#dddf05"/>
        </Binding.Source>
    </Binding>
    <Binding>
        <Binding.Source>
            <SolidColorBrush Color="#F0F0F0"/>
        </Binding.Source>
    </Binding>
</MultiBinding>

如果脏则返回#dddf05,否则返回#f0f0f0。

所以这非常方便,因为它几乎是我现在需要的唯一转换器,xaml 很冗长,但至少我不必为每个特定情况编写转换器。

我的问题是我想做这样的事情:

?

=

一些变量

可见

折叠

并将其设置为

<MyControl.Visible> 

即如果 SomeVariable 为 null,则返回 Visible,否则为 Collapsed。但是我无法像引用上面的颜色值一样引用可见性值(或更一般地说,系统枚举值)。我知道这一定是可能的,因为人们可以轻松地内联引用这些值。

【问题讨论】:

    标签: c# wpf enums visibility


    【解决方案1】:

    你可以使用这些:

    <Visibility>Visible</Visibility>
    <Visibility>Hidden</Visibility>
    <Visibility>Collapsed</Visibility>
    

    XAML 处理器基本上会获取标记的内部字符串并将其解析/转换为枚举值。

    【讨论】:

      猜你喜欢
      • 2018-12-28
      • 2013-07-22
      • 2011-07-27
      • 1970-01-01
      • 1970-01-01
      • 2014-08-22
      • 2011-04-12
      • 2011-06-29
      • 2011-11-15
      相关资源
      最近更新 更多