繁体   English   中英

WPF:MultiBinding绑定源中的引用可见性枚举值

[英]WPF: Reference Visibility enum value in MultiBinding Binding Source

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

像这样:

<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。 但是我无法引用可见性值(或更笼统地说,系统枚举值),就像我在上面引用颜色值一样。 我知道这一定是有可能的,因为人们可以轻松地内联引用这些值。

您可以使用这些:

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM