我正試圖找到一種通用的方法來設置UIElement上的背景屬性。獲取UIElement或發件人的背景
我沒有多少運氣...
這裏是我迄今(嘗試使用反射來獲取BackgroundProperty)。
Action<UIElement> setTheBrushMethod = (UIElement x) =>
{
var brush = new SolidColorBrush(Colors.Yellow);
var whatever = x.GetType().GetField("BackgroundProperty");
var val = whatever.GetValue(null);
((UIElement)x).SetValue(val as DependencyProperty, brush);
brush.BeginAnimation(SolidColorBrush.ColorProperty, new ColorAnimation(Colors.White, TimeSpan.FromSeconds(3)));
};
setTheBrushMethod(sender as UIElement);
的事情是......它適用於像TextBlock的,但對於像一個StackPanel或按鈕不起作用。
「無論」結束爲StackPanel或Button爲空。
我也覺得應該有一個簡單的方法來一般地設置背景。我錯過了明顯嗎?
背景似乎只能在System.Windows.Controls.Control上使用,但我無法轉換爲此。
嗯....你有沒有考慮使用樣式? – failedprogramming 2013-04-26 00:36:31