2013-06-21 90 views
2

我在usercontrol上使用具有綁定屬性的標籤。此綁定的字符串格式屬性需要根據綁定到標籤內容屬性的基礎數據的數據類型進行設置。因此,如果該屬性綁定到我的viewmodel中的日期屬性,我想在數據觸發器中指定字符串格式。這是我所嘗試過的,但StringFormat沒有被識別。我錯過了什麼,或者我做錯了嗎?任何意見將不勝感激。綁定屬性上的DataTrigger

<Label 
    x:Name="myLabel" 
    Content="{Binding Path=myProperty}"> 
<Label.Style> 
    <Style> 
    <Style.Triggers> 
     <DataTrigger 
      Binding="{Binding ElementName=myLabel, Path=Content.Binding}" 
      Value="{x:Type sys:DateTime}"> 
        <Setter 
        Property="StringFormat" 
        Value="dd/MM/yyyy" /> 
    </DataTrigger> 
    </Style.Triggers> 
    </Style> 
</Label.Style> 

回答

2

爲什麼不乾脆用一個轉換器?

<Label Content="{Binding Path=myProperty, Converter={StaticResource MyContentConverter}}"> 
+0

這實際上是一個更好的主意,哈哈!爲什麼我沒有想到這一點。我會試一試,讓你知道。謝謝!我的轉換器 – pjdupreez

+0

代碼如下所示: 公共對象轉換(對象的值,類型目標類型,目標參數,CultureInfo的文化) \t \t { \t \t \t如果(值DATETIME) \t \t \t \t回報((日期時間)值)的ToString( 「DD/MM/YYYY」); \t \t \t \t \t \t返回值; \t \t} 工程就像一個魅力!感謝您的幫助! – pjdupreez