2013-02-20 136 views
1

我試圖將TextBox的BorderBrush顏色更改爲默認值。看完ControlTemplate後,似乎沒有指定默認顏色。任何想法默認顏色是什麼?如何將BorderBrush顏色更改爲默認值

This似乎是ControlTemplate。

我發現無數的例子爲XAML,但我需要這在做後臺代碼如下所示:

txtValue1.BorderBrush = Brushes.Gray; 
+0

我想添加到我的答案:沒有真正正確的默認值,模板顯示爲BorderBrush =「{StaticResource SolidBorderBrush}」,而這是一個刷子,你會發現在該頁面上較低,它是刷一個主題,所以它可能在不同的PC上是相同的,這取決於所使用的Windows版本或更精確地使用的主題。 – dowhilefor 2013-02-20 11:48:19

回答

4

如果你真正想要的屬性的默認值,調用

txtValue1.ClearValue(Border.BorderBrushProperty); 

但是這會改變屬性回到它的初始值(在這種情況下,我會猜測黑色或透明)。 我不確定,但我想你想讓原來的顏色給當前使用的主題。因此,如果您希望清除本地更改,則可以使用GetLocalValueEnumerator並查詢所有本地設置屬性,並查找要清除值的屬性。但是,如果您對所使用的元素有自定義樣式,並且想要將其中一個屬性還原出來,我認爲這不太可能。

對於這個問題,this是一個重要的閱讀。

+0

+1爲您的偉大答案,謝謝! – 2013-02-20 11:49:28