2010-06-16 115 views
1

我習慣於使用每個屬性返回一個值的轉換器,例如前景色。wpf轉換器:設置多個屬性

是否有可能有一個轉換器與多個屬性一起工作?

如:前景,背景,字體重量,字體大小

我怎樣才能創建一個轉換器(或小於4),可以設置多個屬性?

回答

0

不,轉換器不是爲此設計的。你可能會沿着附加的行爲路由並根據綁定的依賴屬性(我假設)來設置屬性?

編輯:行爲是混合SDK的一部分,你想要什麼的基本結構是:

public class MyBehavior : Behavior<TextBlock> 
{ 
    //// <-- Dependency property here 

    protected override void OnAttached() 
    { 
     base.OnAttached(); 

     this.AssociatedObject.Foreground = CalculateForeground(); 
     this.AssociatedObject.Background = CalculateBackground(); 
     // etc.. 
    } 

    private Brush CalculateForeground() 
    { 
     // Do some calculations based on the dependency property 
    } 

    private Brush CalculateBackground() 
    { 
     // Do some calculations based on the dependency property 
    } 

    protected override void OnDetaching() 
    { 
     base.OnDetaching(); 

     // You might want to reset to default here, or just do nothing 
    } 
} 
+0

附加的行爲路線? ..也許你可以詳細說明:) – 2010-06-16 17:08:18