私はwpfアプリC#を持っています。列挙リストに基づいてコンボボックスを無効にする方法
私は、列挙型によって作成されるコンボボックスを持っています。
たとえば、第1または第3の(その他の)項目を無効にすることをお勧めします。
これは私のマークアップである:
<ComboBox x:Name="cboJobStatus" />
私の列挙:
public enum enJobStatus
{
Draft = 0,
Booked = 1,
Started = 2,
OnHold = 3,
Completed = 4,
Paid = 5,
All = 6
}
マイコード:
cboJobStatus.ItemsSource = Enum.GetNames(typeof演算(enJobStatus))。この作業を取得するために
私の哀れな試み:
foreach (var item in cboJobStatus.Items)
{
((ComboBoxItem)item).IsEnabled = false;
}
項目は文字列ではなくコンボアイテムですので、仕事や実行時にエラーが発生したしませんでした。
あなたのコードは経由(あなたのケースの文字列値に)各項目がコメントで述べたように、enJobStatus
の名前を表しますが、文字列であるとして、あなたはカスタム
ItemsContainerStyle
ComboBoxItem
のために作成し、現在の
DataContext
に
IsEnabled
をバインドすることができます動作しませんでした
コンバータに追加のパラメータを渡すためのオプションを持つことができますあなたは欲しい – dkozl
こんにちは、ありがとう。あなたが投稿できる例がありますか?ありがとうございました –