转载:https://stackoverflow.com/questions/4335339/how-to-bind-a-boolean-to-combobox-in-wpf
定义转换类
using System.Globalization;
using System.Windows.Data;
public class BoolToIndexConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
return ((bool)value == true) ? 0 : 1;//注意与实际下拉列表项对应
}
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
return ((int)value == 0) ? true : false;//注意与Convert保持一致
}
}
添加到资源项
<Window.Resources>
<local:BoolToIndexConverter x:Key="boolToIdxCov" />
</Window.Resources>
XAML中使用转换器
<StackPanel Orientation="Horizontal">
<Label FontSize="16" VerticalContentAlignment="Center">允许测试</Label>
<ComboBox MinWidth="60" SelectedIndex="{Binding ValidateUI.AllowInput, Converter={StaticResource boolToIdxCov}}" VerticalAlignment="Center">
<ComboBoxItem Content="是"/>
<ComboBoxItem Content="否"/>
</ComboBox>
</StackPanel>