(首先,我簡化了樣品供您瞭解。)WPF:編輯ComboBox和的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格式化項目的最佳方式是什麼?
謝謝!