首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在IValueConverter中本地使用MultiDataTrigger

在IValueConverter中本地使用MultiDataTrigger
EN

Stack Overflow用户
提问于 2016-10-10 11:39:12
回答 1查看 105关注 0票数 0

我想创建一个MultiDataTrigger。在其中一个条件下,我需要使用转换器。因为它只在那里使用,所以我不想将转换器定义为资源,而是只在本地使用它。

所以我做了这个MultiDataTrigger:

代码语言:javascript
复制
<MultiDataTrigger>
    <MultiDataTrigger.Conditions>
        <Condition Binding="Property1" Value="Value1" />
        <Condition ... />
    </MultiDataTrigger.Conditions>
    <Setter Property="SomeProp" Value="SomeVal"/>
</MultiDataTrigger>

和此绑定以避免将转换器定义为资源(基于https://stackoverflow.com/a/2304330/5333340):

代码语言:javascript
复制
<Binding Path="Property2">
    <Binding.Converter>
        <converterNamespace:MyConverter/>
    </Binding.Converter>
</Binding>

把这两件事放在一起:

代码语言:javascript
复制
<MultiDataTrigger>
    <MultiDataTrigger.Conditions>
        <Condition Binding="Property1" Value="Value1" />
        <Condition Value="Value2">
            <Binding Path="Property2">                 <!-- Compiler -->
                <Binding.Converter>                    <!-- does     -->
                    <converterNamespace:MyConverter/>  <!-- not      -->
                </Binding.Converter>                   <!-- like     -->
            </Binding>                                 <!-- this!    -->
        </Condition>
    </MultiDataTrigger.Conditions>
    <Setter Property="SomeProp" Value="SomeVal"/>
</MultiDataTrigger>

但是编译器抱怨道:"Type‘content’不支持直接内容。“(原文:"Der Typ‘Inhalte’unterstützt keine direkten Inhalte.")

有没有一种不需要将转换器定义为资源而使MultiDataTrigger工作的方法?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-10-10 12:29:40

您的XAML缺少<Condition.Binding>标记。除此之外,Binding="{Property1}"也是无效的。

代码语言:javascript
复制
<MultiDataTrigger>
    <MultiDataTrigger.Conditions>
        <Condition Binding="{Binding Property1}" Value="Value1" />
        <Condition Value="Value2">
            <Condition.Binding>                   <!-- here -->
                <Binding Path="Property2">
                    <Binding.Converter>
                        <converterNamespace:MyConverter/>
                    </Binding.Converter>
                </Binding>
            </Condition.Binding>
        </Condition>
    </MultiDataTrigger.Conditions>
</MultiDataTrigger>
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39957413

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档