我希望能夠在XAML中使用任意C#表達式。通常這將基於兩個綁定值來計算UI元素的屬性。是否存在一種在XAML中使用任意C#表達式的方法?
例如,基於兩個其他屬性計算UI元素的寬度。
這是想我的XAML看起來像一個人爲的例子:
<TextBox
x:Name="textBox1"
/>
<TextBox
x:Name="textBox2"
/>
<Rectangle
Height={Double.Parse(textBox1.Text) + Double.Parse(textBox2.Text)}
/>
當然有在XAML這樣做的沒有內置的方式。
我知道我可以使用MultiBinding結合自定義轉換器,這通常是我做這種事情的方式。然而,在我看來,僅僅在XAML中包含一些C#代碼會非常簡單,我想知道是否有人用XAML擴展或其他方法解決了這個問題。
有人維護你的工作。 – 2010-12-03 14:01:20
如果XAML編譯器實際上支持這個,那麼維護這些XAML文件會容易得多!這是因爲你不必去創造大量的轉換器類來完成這項工作,而更少的類意味着更少的維護。 – 2010-12-03 14:06:26
是的,這可能是這樣,但是這破壞了將演示文稿與業務邏輯分開的對象,這意味着更多的維護。而且,由於使用不規範,造成混亂。 – 2010-12-03 14:08:53