본문 바로가기

WPF

TextBox 의 Enabled 설정시 배경색 지정문제

반응형

WPF 의 경우 TextBox 컨트롤의 Enabled 속성을 False 로 하게되면,

ForeColor 또는 BackGround 설정이 먹히지 않는다.

Enabled = False 설정으로 인해서 TextBox의 모든 설정이 Windows Default 로 막혀버리기 때문이다.


이 문제를 해결하기 위해서

IsReadOnly 속성을 이용해서 해결이 가능하다.

예를 들어서,

TextBox 에 입력은 안되게 하고, 배경색만 Gray 로 하고싶다면,


IsReadOnly="True" 

BackGround = "Gray"


로 설정하면 된다.


또한, 이렇게 설정하게되면

Enabled = False 시에는 되지않았던, 스크롤문제도 해결할수있다.

비활성 되어있는경우는 MultyTextLine으로 복수행 데이터 입력이 되어있다 하더라도, 스크롤을 제어할수가 없게된다.

이 문제역시 위와같은 방법으로 

마치, Enabled = false 제어가 된듯한 효과를 기대할수 있다.

반응형