【发布时间】:2016-01-10 18:49:21
【问题描述】:
当我使用以下实现进行调试时。 Convert-method 参数值具有所有值,自然转换失败。
XAML
<UserControl.Resources>
<appconv:CustomerNumberToStringConverter x:Key="customernumbertostringconverter" />
</UserControl.Resources>
<!-- ... -->
<ComboBox Grid.Row="4" Grid.Column="0" ItemsSource="{Binding CustomerSearchNumbers, Converter={StaticResource customernumbertostringconverter}}" SelectedItem="{Binding Path=SelectedCustomerSearchNumber, Mode=TwoWay}" />
视图模型
public enum CustomerIdentifier
{
ClientPointNo = 0,
ClientNo = 1,
MeterNo = 2,
CustPointNo = 3
}
public ObservableCollection<CustomerIdentifier> CustomerSearchNumbers { get; private set; }
CustomerSearchNumbers = new ObservableCollection<CustomerIdentifier>((IEnumerable<CustomerIdentifier>)Enum.GetValues(typeof(CustomerIdentifier)));
转换器
public class CustomerNumberToStringConverter : IValueConverter
{
public object Convert(object value, Type targetType,
object parameter, System.Globalization.CultureInfo culture)
{
var enumValue = (CustomerIdentifier)value;
switch (enumValue)
{
case CustomerIdentifier.ClientPointNo:
return XxxUtility.GetString("strclientpointno");
case CustomerIdentifier.ClientNo:
return XxxUtility.GetString("strclientno");
case CustomerIdentifier.MeterNo:
return XxxUtility.GetString("strmeterno");
default:
return XxxUtility.GetString("strcustomerpointno");
}
}
}
【问题讨论】:
标签: c# wpf data-binding