関連するプロパティの名前からコレクションを見つけるために使用されるコンバーターを介して double のコレクションにバインドされているコンボ ボックスがあります。コンボ ボックスは、プロパティ グリッド エディターの DataTemplate にあります。問題は、コンボ ボックスが現在のシステム カルチャの値を表示しないことです (つまり、'.' ではなく ',' を小数点記号として使用します)。プロパティ グリッドの他のすべてのプロパティは正しく表示されます (テキスト ボックスなど)。
DataTemplate は次のようになり、ListComboBoxValuesConverter は double のコレクションを返すだけです。
<ComboBox
ItemsSource="{Binding Converter={StaticResource ListComboBoxValuesConverter},
RelativeSource={RelativeSource AncestorType={x:Type propgrid:IPropertyDataAccessor}}}"
Text="{Binding Path=Value,
RelativeSource={RelativeSource AncestorType={x:Type propgrid:IPropertyDataAccessor}},
Mode=TwoWay,
ValidatesOnExceptions=True, ValidatesOnDataErrors=True, NotifyOnValidationError=True}">
</ComboBox>
ありがとう
編集:
私が思いついた解決策は、コンボ ボックスのアイテム テンプレートを設定し、コンバーターを使用して値を正しくフォーマットされた文字列として返すことです。これは不要のように感じますが、これで終わりです。
<ComboBox.ItemTemplate>
<DataTemplate>
<Label Content="{Binding Converter={StaticResource FloatValueCultureConverter}, ConverterCulture={x:Static gl:CultureInfo.CurrentCulture}}"/>
</DataTemplate>
</ComboBox.ItemTemplate>