은 (첫째, 난 당신이 이해하기 위해 샘플을 단순화.) 는 WPF : 편집 가능한 콤보하고있는 StringFormat
내가 인치의 값을 표시하는 편집 콤보를 원한다. 원본 (원본) 값은 응용 프로그램이 내부적으로 작동하는 단위이기 때문에 픽셀 (DIP)의 값입니다. 사용자는 픽셀 단위로 값을 보지 말아야하지만 인치 단위 (UI의 측정 단위)로보아야합니다. 나는 변환기를 사용하여 픽셀에서 인치 및 역변환으로 변환해야한다고 결정했습니다.ComboBox 항목의 형식은 "{0} in"이어야합니다.
은 내부적으로 픽셀 단위로 작업을해야 기억이
[ 4 in |v]
[ 1 in ]
[ 2 in ]
[ 3 in ]
[ 4 in ]
처럼 보이지만한다! 편집 할 수 있어야합니다. 이것은 작업 부분입니다. 나는 이것을 완전히 달성 할 수 없었다.
나는이 지금까지 가지고<ComboBox IsEditable="True"
ItemStringFormat="'{}{0} in}'"
Text="{Binding RelativeSource={RelativeSource Self}, Path=SelectedValue, Mode=TwoWay, Converter={StaticResource MyPixelToInchesConverter}, StringFormat='{}{0} in}'}">
<system:Double>1</system:Double>
<system:Double>2</system:Double>
<system:Double>3</system:Double>
</ComboBox>
문제? 항목을 선택하면 서식이 지정되지 않습니다. 그리고 ComboBox의 편집 가능 영역에 숫자를 쓸 때도 형식이 지정되지 않습니다.
그렇다면 사용자가 존재하지 않는 값을 입력하더라도 ComboBox가 항목의 서식을 지정하는 가장 좋은 방법은 무엇입니까 ??
감사합니다.