2013-06-03 48 views
0

在我的ResourceDictionary我有以下樣式:綁定值ConverterParameter

<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綁定= {結合myProperty的},但我們不能綁定到ConverterParameter。

我該如何解決這個問題?

日Thnx提前

回答

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> 

轉換器當然需要進行適當的更新。

+0

只有一個問題 - 當我設置綁定時,出現錯誤「預期屬性值。屬性值由單引號makr或雙引號分隔」 和「屬性」爲沒有在#Binding'類型中找到。我該如何處理? – Sasha

+0

@Sasha:''。 – Jon

+0

thnx您的幫助 – Sasha