<Window.Resources>
<ResourceDictionary>
<Style TargetType="{x:Type propgrid:PropertyGridDataAccessorItem}">
<Style.Triggers>
<Trigger Property="DataAccessorType" Value="Category">
<Setter Property="IsExpanded" Value="{Binding DisplayName, RelativeSource={x:Static RelativeSource.Self}, ConverterParameter=???, Converter={local:ExpandedCategoryConverter}}"/>
</Trigger>
</Style.Triggers>
</Style>
</ResourceDictionary>
</Window.Resources>
问题是我不知道如何从我的ViewModel作为ConverterParameter发送一个属性。我想要像ConverterParameter =“{Binding MyValue}”这样的东西,但它是不可能的。我像这样尝试Multibinding:
<Trigger Property="DataAccessorType" Value="Category">
<Setter Property="IsExpanded">
<Setter.Value>
<MultiBinding Converter="{local:ExpandedCategoryConverter}">
<Binding Path="DisplayName"/>
<Binding Path="MyProperty"/>
</MultiBinding>
</Setter.Value>
</Setter>
</Trigger>
但我的财产总是空的。
有人知道如何处理这个问题吗?
Thnx提前
答案 0 :(得分:0)
DependencyProperty.UnsetValue
(或MyProperty
)获得ExpandCategory
,因为绑定不会产生值。 IMultiValueConverter.Convert方法的values
参数的MSDN文档说明:
值
源绑定在MultiBinding中的值数组 产生。值 UnsetValue 表示源绑定具有 没有提供转换的价值。
您必须确保<Binding Path="MyProperty"/>
有效。我猜你还没有正确设置绑定的来源。