绑定值为ConverterParameter

时间:2013-06-03 08:42:15

标签: wpf xaml binding

在我的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提前

1 个答案:

答案 0 :(得分:4)

正如您所发现的,您无法绑定ConverterParameter,因为它不是依赖属性。

大多数情况下,解决方案的目的是简单地使用MultiBindingmulti 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>

转换器当然需要适当更新。