gpt4 book ai didi

WPF:条件绑定(bind)与属性,XamlParseException 使用

转载 作者:行者123 更新时间:2023-12-04 17:13:00 24 4
gpt4 key购买 nike

我遇到了 Condition 的问题对于 MultiTrigger .如果我执行以下操作:

<Condition Binding="{Binding RelativeSource={RelativeSource
AncestorType={x:Type ListView}}}" Property="IsEnabled" Value="True"/>

然后我得到这个异常:

Condition cannot use both Property and Binding. Error at object 'System.Windows.Condition' in markup file



但是,当我执行以下操作时:
<Condition Binding="{Binding RelativeSource={RelativeSource
AncestorType={x:Type ListView}}, Path=IsEnabled}" Value="True"/>

然后我得到这个异常:

Must specify both Property and Value for Trigger. Error at object 'System.Windows.Condition' in markup file



是什么赋予了?如果重要的话,这是整个触发器:
<MultiTrigger>
<MultiTrigger.Conditions>
<Condition Binding="{Binding Path=IsSelected}" Value="True"/>
<Condition Binding="{Binding Path=ItemsControl.AlternationIndex}"
Value="0"/>
<Condition Binding="{Binding RelativeSource={RelativeSource
AncestorType={x:Type ListView}}, Path=IsEnabled}"
Value="True"/>
</MultiTrigger.Conditions>
<Setter Property="Background"
Value="{StaticResource evenSelected}" />
<Setter Property="BorderBrush"
Value="{StaticResource evenSelectedBorder}" />
</MultiTrigger>

最佳答案

这种情况下的 API 令人困惑。 Condition用于两种不同类型的多触发器,使用的属性不同。使用 MultiTrigger 时,您将使用 PropertyValue特性。使用 MultiDataTrigger 时(这是你需要的),你指定一个 BindingValue .因此,如果您只是切换代码以使用 MultiDataTrigger ,你会很高兴:

<MultiDataTrigger>
<MultiDataTrigger.Conditions>
<Condition Binding="{Binding Path=IsSelected}" Value="True"/>
<Condition Binding="{Binding Path=ItemsControl.AlternationIndex}"
Value="0"/>
<Condition Binding="{Binding RelativeSource={RelativeSource
AncestorType={x:Type ListView}}, Path=IsEnabled}"
Value="True"/>
</MultiDataTrigger.Conditions>
<Setter Property="Background"
Value="{StaticResource evenSelected}" />
<Setter Property="BorderBrush"
Value="{StaticResource evenSelectedBorder}" />
</MultiDataTrigger>

关于WPF:条件绑定(bind)与属性,XamlParseException 使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4649906/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com