在我的资源字典中,我有以下样式:
<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>
Run Code Online (Sandbox Code Playgroud)
我需要将 viewModel 中的值绑定到 ConverterParameter,例如 ConverterParameter = {Binding MyProperty},但我们无法绑定到 ConverterParameter。
我该如何解决这个问题?
提前谢谢
正如您所发现的,您无法绑定,ConverterParameter因为它不是依赖属性。
大多数时候,解决方案是简单地使用一个MultiBinding和一个多值转换器,例如:
<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>
Run Code Online (Sandbox Code Playgroud)
转换器当然需要适当更新。
| 归档时间: |
|
| 查看次数: |
8595 次 |
| 最近记录: |