2012-01-10 72 views
7

樣式是WPF的一大特色。當然,可以使文本框看起來完全像操作系統文本框?TextBox選擇可以使用不同的字體顏色嗎?

我已經厭倦了去飽和的黯淡顏色的選擇必須爲了使黑色文本可見的:

textbox selection comparison

這是可以解決的?

+2

如果您可以找出一種方法來修復所有WPF控件的外觀和行爲與本機操作系統控件完全相同,那麼您可能真的有一些東西! – 2012-01-10 10:15:42

+0

@CodyGray這是一個夢......與WPF似乎被設計成在一些誤導性的努力中所做的相反,呃?... – 2012-01-10 13:30:58

+0

是的,確實如此。這就是爲什麼我沒有被說服改用WPF的原因之一。我沒有任何特別的理由嘗試讓我的應用程序更醜,更慢,更難以使用。 – 2012-01-11 00:07:06

回答

6

不幸的是,選擇突出顯示是通過覆蓋矩形(輝煌的想法,是不是?)完成的,這使得在保持文本可讀性的同時,甚至難以獲得所需的選擇背景顏色。 (嘗試將SelectionOpacity設置爲1

此外,選定的文本部分看起來不是樣式的,因此更改選擇的前景顏色也是不容易的。

+3

我的上帝,你是對的。誰提出了這個問題?......對比度已經很低,原來文本甚至不是全黑的! – 2012-01-10 13:34:21

1

也許你需要SelectionBrush?這是一個依賴屬性。 (不知道它是否可用.NET版本< 4)。

要找到當前的系統顏色,可以使用SystemColors class

看到一個例子:WPF SystemColors: color of TextBox border

+4

選擇畫筆已具有正確的顏色。如果我將不透明度設置爲1,則選定文本將變得完全不可見。所以不,這沒有幫助。 – 2012-01-10 11:22:11

+0

@romkyns:那麼,爲什麼不在這種情況下使顏色_darker_?如果您需要X顏色,但不透明度爲50%,請嘗試X/2。 – Vlad 2012-01-10 12:37:33

+2

首先,由於_any_ color與白色的50%混合(嘗試它 - 你需要一個負的紅色才能工作),所以不可能實現'0x3399FF',其次,因爲即使它可以實現,黑色文字對於那種藍色的陰影不太可讀。 – 2012-01-10 13:21:22

相關問題