0
통화 값을 표시하는 텍스트 상자가있는 창에 있습니다. 텍스트 상자에는 데이터 인터페이스의 속성에 대한 IsReadOnly 속성에 대한 바인딩이 있습니다. 텍스트 상자가 읽기 전용 모드 인 경우 천 단위 구분 기호에 £ 기호와 쉼표가있는 통화 값으로 텍스트 서식을 지정하고 싶지만 편집 모드 인 경우 똑바로 번호를 지정하고 싶습니다.WPF : 모델의 속성이 True 인 경우 조건부로 TextBox 서식 지정
StringFormat 속성은 무조건적인 옵션이 아닌 것 같습니다. Converter 속성은 희망 후보로 보이지만 IsReadOnly 속성을 ConverterParameter로 전달해야하며 ConvereterParameter가 바인딩되지 않는 것 같습니다.
이 문제를 해결하는 올바른 방법은 무엇입니까? 당신은 TextBox.Text
을 변경할 수 있습니다
완벽한를 사용하는이 경우
IsReadOnly=True
에, 트리거를 기반으로 바인딩. 그게 잘 작동합니다 - 유일한 걸림돌은 약 50 개의 텍스트 상자를 다른 이름의 속성에 바인딩해야한다는 것입니다. 재사용 가능한 스타일로 추상화하려면이 스타일 변수의 "MyDecimal"부분을 만드는 어떤 방법을 알고 있습니까? – wwarby한 가지 방법은'TextBox'에 대한 프록시 연결 속성을 만들고'TextBox.Text'를'MyDecimal'이 아니라 'TextDouble'에 바인딩하는 것입니다. 그러나이 속성과 'Text'에 바인딩하는 대신 외부에서 연결된 동일한 속성 – dkozl