2012-01-10 2 views
7

스타일 지정은 WPF의 큰 특징입니다. 텍스트 상자를 OS 텍스트 상자와 똑같이 보이게 할 수 있습니까?TextBox 선택 영역의 스타일을 다른 글꼴 색으로 지정할 수 있습니까?

나는 선택이 볼 수 있도록 검정 텍스트의 순서를해야합니다 황량한 흐릿한 색상의 피곤 해요 :

textbox selection comparison

이 고칠 수 있습니까?

+2

네이티브 OS 컨트롤과 똑같이 보이고 동작하도록 WPF 컨트롤의 * 모든 * 문제를 해결할 수있는 방법을 찾아 낼 수 있다면 정말 뭔가있을 것입니다! –

+0

@CodyGray 그게 꿈입니다 ... WPF가 잘못된 계획에 따라 설계된 것 같은데 ... –

+0

예, 그렇습니다. 그것이 WPF로 전환하도록 설득되지 않은 이유 중 하나입니다. 필자의 어플리케이션을 더럽고, 느리게하며, 사용하기가 더디게 만들 특별한 이유가 없습니다. –

답변

6

불행히도 선택할 수있는 강조 표시가 오버레이 사각형 (화려한 아이디어가 아닙니까?)을 통해 이루어지기 때문에 텍스트 미리보기를 유지하면서 원하는 배경색을 선택하기가 어려워집니다. (SelectionOpacity1으로 설정하십시오.)

또한 선택한 텍스트 부분의 스타일이 변경되지 않아 선택 항목의 전경색을 쉽게 변경할 수 없습니다.

+3

내 신이 맞아. 누가 그걸 생각해 냈지? ... 대조가 이미 낮아서 텍스트가 완전히 검게 보이지 않는다는 것이 밝혀졌다. –

1

아마 SelectionBrush이 필요합니까? 종속성 속성입니다. (.NET 버전 < 4에서 사용 가능한지 확실하지 않음).

현재 시스템 색상을 확인하려면 SystemColors class을 사용할 수 있습니다.

예제를 보려면 WPF SystemColors: color of TextBox border을 참조하십시오.

+4

선택 브러시는 이미 올바른 색상입니다. 불투명도를 1로 설정하면 선택한 텍스트가 완전히 보이지 않게됩니다. 그래서, 도움이되지 않습니다. –

+0

@romkyns : 음, 왜이 경우 _darker_ 색상을 사용하지 않으시겠습니까? 색상 X가 필요하지만 불투명도가 50 % 인 경우 X/2를 시도하십시오. – Vlad

+2

첫째, 화이트에 대한 _any_ 색상의 50 % 블렌드 결과로 '0x3399FF'를 달성 할 수 없기 때문에 (시도해보십시오 - 작동하려면 네거티브 레드가 필요합니다), 둘째, 달성 가능할지라도 텍스트는 파란색 그늘에 대해 아주 읽을 수 없습니다. –

관련 문제