在我的resourceDictionary中,我有以下样式:
<Style TargetType="{x:Type propgrid:PropertyGridDataAccessorItem}" x:Key="{x:Type propgrid:PropertyGridDataAccessorItem}">
<Style.Triggers>
<Trigger Property="DataAccessorType" Value="Category">
<Setter Property="IsExpanded" Value="{Binding DisplayName, Converter={local:ExpandedCategoryConverter}}"/>
</Trigger>
</Style.Triggers>
</Style>
我需要将viewModel中的值绑定到ConverterParameter,比如ConverterParameter = {Binding MyProperty},但我们无法绑定到ConverterParameter。
我该如何解决这个问题?
Thnx提前
答案 0 :(得分:4)
正如您所发现的,您无法绑定ConverterParameter
,因为它不是依赖属性。
大多数情况下,解决方案的目的是简单地使用MultiBinding
和multi value converter,例如:
<Trigger Property="DataAccessorType" Value="Category">
<Setter Property="IsExpanded">
<Setter.Value>
<MultiBinding Converter="{local:ExpandedCategoryConverter}">
<Binding Path="DisplayName"/>
<Binding Path="WhatYouWantToPassInAsConverterParameter"/>
</MultiBinding>
</Setter.Value>
</Setter>
</Trigger>
转换器当然需要适当更新。