WPF绑定到Nullable Enum

时间:2016-05-11 19:10:02

标签: c# wpf data-binding enums

我有一个绑定到可以为空的枚举的ComboBox。 ItemSource是枚举值的集合。 IValueConverter用于将枚举值转换为字符串以供显示。最初,SelectedItem的值为null。

除下列情况外,一切正常。支持模型可以重置,基本上可以为空的enum属性分配其原始值null。发生这种情况时,由于某种原因,IValue转换器将被调用一个空字符串。为什么用空字符串而不是空值来调用它?

奇怪的是,IValueConverter.Convert方法永远不会在初始空值上被调用。

编辑:

ComboBox定义如下:

SELECT Customers.userid, Orders.userid
FROM Customers
LEFT JOIN ORDERS
ON Customers.userid=orders.USER_ID

源定义为:

<ComboBox ItemsSource="{Binding Source={StaticResource MyList}}" SelectedItem="{Binding MyProperty}">
    <ComboBox.ItemTemplate>
        <DataTemplate>
            <TextBlock Text="{Binding Path=., Converter={StaticResource EnumToStringConverter}}" />
        </DataTemplate>
    </ComboBox.ItemTemplate>
</ComboBox>

支持属性刚定义为MyEnum?

0 个答案:

没有答案