まあ、私ははい/いいえコンボボックスできなくなりますcombobox.Comboboxにブール型プロパティをバインドする方法を疑問に思いました。WPFのComboBoxのためにブール値をバインドする方法を
6
A
答えて
14
あなたは、コンボボックスのインデックスとバックにブール値に変換するためにValueConverterを使用することができます。このように:はいを想定し
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;
}
}
}
インデックス0にあり、ノーインデックス1に続いて、あなたはSelectedIndexプロパティへの結合にそのコンバータを使用する必要があると思います。このために、あなたのリソースセクションで、あなたのコンバータを宣言:
<ComboBox SelectedIndex="{Binding YourBooleanProperty, Converter={StaticResource boolToIndexConverter}}"/>
11
最初のソリューションはので、チェックボックスを使用して「はい/いいえ」コンボボックスを交換することである。
<Window.Resources>
<local:BoolToIndexConverter x:Key="boolToIndexConverter" />
</Window.Resources>
は、その後、結合あなたにそれを使用します、まあ、チェックボックスは理由のために存在します。
第2の解決策は、コンボボックスを真偽オブジェクトで塗りつぶしてから、コンボボックスの「SelectedItem」をブール値プロパティにバインドすることです。
+0
あなたの解決策は私には起こりませんでしたので+1しているのかどうかわかりません。 – Jeff
4
私は過去にこのためのコンボボックス項目のIsSelectedプロパティを使用して自分自身を発見しました。このメソッドは完全にxamlです。ここで
<ComboBox>
<ComboBoxItem Content="No" />
<ComboBoxItem Content="Yes" IsSelected="{Binding YourBooleanProperty, Mode=OneWayToSource}" />
</ComboBox>
1
は(はい/いいえで有効化/無効化しない置き換える)の例である:
public class EnabledDisabledToBooleanConverter : IValueConverter
{
private const string EnabledText = "Enabled";
private const string DisabledText = "Disabled";
public static readonly EnabledDisabledToBooleanConverter Instance = new EnabledDisabledToBooleanConverter();
private EnabledDisabledToBooleanConverter()
{
}
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
return Equals(true, value)
? EnabledText
: DisabledText;
}
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
//Actually won't be used, but in case you need that
return Equals(value, EnabledText);
}
}
そしてインデックスに再生する必要はありません。ここで
<ComboBox SelectedValue="{Binding IsEnabled}">
<ComboBox.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding Converter={x:Static converters:EnabledDisabledToBooleanConverter.Instance}}"/>
</DataTemplate>
</ComboBox.ItemTemplate>
<ComboBox.Items>
<system:Boolean>True</system:Boolean>
<system:Boolean>False</system:Boolean>
</ComboBox.Items>
</ComboBox>
はコンバータです。
関連する問題
- 1. WPFで逆ブール値のプロパティをバインドする方法は?
- 2. WPF ComboBox選択したアイテムをコードにバインドする方法は?
- 3. WPF - TextBoxのFontFamilyをComboBoxにバインドする
- 4. ComboBoxの値をTextBoxの値にバインドする方法
- 5. c#wpf、ブール値に応じたプロパティのバインド値
- 6. WPF ComboBoxをViewModelにバインドする
- 7. WPFバインドComboBox with CheckBox
- 8. WPF ComboBoxクラスにバインドされたデータ
- 9. WPF ComboBoxにユーザーコントロールをバインドしますか?
- 10. Springのブール値に配列をバインドする方法
- 11. WPF Combobox isEditableリストへのエントリをバインド
- 12. Extjs Comboboxでブール値をYesまたはNoに変換する方法
- 13. Spring MVC - ブール変数のHTMLチェックボックスの値をバインドする方法
- 14. バインドWPF ComboBox SelectedValueプロパティを複数のオブジェクトにバインド
- 15. Combobox SelectedItemをフィールドの値でバインドする
- 16. Cocoa:ブール値プロパティをNSCellStateValueにバインドする方法は?
- 17. ブール値プロパティをレンダリング属性にバインドする方法は?
- 18. enumの整数値をwpfのdatagridtextcolumnにバインドする方法
- 19. ComboBox SelectedItemのためのWPFのバインドインターフェイス
- 20. WPFでComboBoxをカスタマイズする方法
- 21. WPF-comboboxをフィルタリングする方法は?
- 22. MVVMパターン(Galasoft)を使用したWPFでのComboboxカラムのバインド
- 23. Xamlラジオボタンをブール値にバインド
- 24. WPFで列挙するComboBoxのSelectedValueをバインドする
- 25. C#MVVM:RadioButtonをブール値にバインドする
- 26. WPF Comboboxにコードをカスタムクラスで埋め込む方法
- 27. 角度ディレクティブでブール値をバインドする方法は?
- 28. JTableでブール値をJGoodiesとバインドする方法
- 29. WPFでデータベース値をTextBoxに動的にバインドする方法
- 30. リストボックスデータテンプレートのリストビューをバインドする方法WPF
私は親切でwpfの新人です。ありがとうございました – user434547
あなたのために働いた場合は、それを回答としてマークすることができます。 :) – Botz3000
偉大な答え。この[リンク](http://msdn.microsoft.com/en-us/library/system.windows.data.binding.converter(v = vs.110).aspx)では、この件に関する詳細情報を提供しています。 – estebro