【发布时间】:2015-10-17 17:49:39
【问题描述】:
问题: 使用参数化转换器将 Enum 类型的属性绑定到 RadioButtons。没有抛出异常,Radiobutton 可能有验证问题(不确定)。测试时会显示 RadioButtons 周围的红色框。
信息: 试图使用给出的解决方案 How to bind RadioButtons to an enum?
我有一个这样的枚举:
namespace crmVerwaltungstools.Models
{
public enum CrmSystemType
{
Training = 0,
Live = 1
}
}
BooleanToEnumConverter:
public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
return value.Equals(parameter);
}
public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
return value.Equals(true) ? (CrmSystemType)parameter : Binding.DoNothing;
}
在我的窗口内:
xmlns:models="clr-namespace:crmVerwaltungstool.Models"
<StackPanel Grid.Column="0" Grid.ColumnSpan="2" Grid.Row="1" Orientation="Horizontal">
<StackPanel.Resources>
<converter:RadioButtonIsCheckedToCrmSystemTypeConverter x:Key="RbIsCheckedToCrmSystemTypeConverter" />
</StackPanel.Resources>
<RadioButton Content="Schulungs-System" GroupName="rbg_SelectSystem"
IsChecked="{Binding Path=SystemType, Converter={StaticResource RbIsCheckedToCrmSystemTypeConverter},
ConverterParameter={x:Static models:CrmSystemType.Training}}"/>
<RadioButton Content="Live-System" GroupName="rbg_SelectSystem"
IsChecked="{Binding Path=SystemType, Converter={StaticResource RbIsCheckedToCrmSystemTypeConverter},
ConverterParameter={x:Static models:CrmSystemType.Live}}"/>
</StackPanel>
看不到任何错误。 (可能是今天看到的代码行数太多了……)
感谢您的帮助!!
【问题讨论】:
标签: c# wpf data-binding enums radio-button