2011-01-30 70 views

回答

0

的最直接方式是實現返回一個字符串值Employee的屬性,然後測試在樣式的數據觸發的字符串值。例如:

public string SalaryRange 
{ 
    get 
    { 
     if (salary <= LowRange) 
     { 
     return "Low"; 
     } 
     if (salary <= MiddleRange) 
     { 
     return "Middle"; 
     } 
     return "High"; 
    } 
} 

然後,在XAML,實現使用數據觸發一種風格,如:

<Style TargetType = "ListBoxItem"> 
    <Style.Triggers> 
     <DataTrigger Binding="{SalaryRange}" Value="Low"> 
     <Setter Property="Foreground" Value="AliceBlue"/> 
     </DataTrigger> 
     <DataTrigger Binding="{SalaryRange}" Value="Middle"> 
     <Setter Property="Foreground" Value="Fucschia"/> 
     </DataTrigger> 
     <DataTrigger Binding="{SalaryRange}" Value="Middle"> 
     <Setter Property="Foreground" Value="Goldenrod"/> 
     </DataTrigger> 
    </Style.Triggers> 
</Style> 

很多人瞭解的值轉換器,讓所有迷戀使用的想法他們爲了這種事情。但是如果你使用的是MVVM(你應該是這樣),上面的代碼就更加清晰了:它清楚了屬性的作用,很清楚樣式是什麼,很容易測試,並且沒有第三塊代碼隱藏在單獨的文件,這是做所有的翻譯。

+0

Employee類在其他項目中執行。 – Gilboss 2011-02-01 18:41:05

相關問題