2

私はコンボボックスを持っていて、データは次のように動的に割り当てられます

<combobox 
    name="clientbox"
    itemsource={Binding}, 
    displaymemberpath="ClientName" 
    selectedvaluepath="clientid" />

DB からクライアントの詳細をロードし、リストボックスに設定して、次のようにコンボボックスに割り当てています。

clientbox.DataContext = <list>

実行後にコンボボックスでデータを見ることができます。これにより0番目のアイテムが選択されますが、デフォルトで別のアイテムを選択したいです。これを行う方法?

4

2 に答える 2

1
  clientbox.SelectedItem =  ((ComboBoxItem)clientbox.Items[1]);
  clientbox.Text = ((ComboBoxItem)clientbox.Items[1]).Content.ToString();
于 2012-04-16T13:27:30.450 に答える
1

いくつかの可能性があります:

分離コード:

// Setting the 0-based index
clientBox.SelectedIndex = 1;

// Setting the item
clientBox.SelectedItem = activeClient;

// Setting the value (explanation follows..)
clientBox.SelectedValue = activeClientValue

プロパティを使用SelectedValueすると、 を埋めるために使用される項目のプロパティを定義できますComboBox。例:プロパティなどを持つComboBoxクラスの項目を に入力します。アイテムを選択すると、プロパティはクラスのインスタンスになります。のプロパティを に設定すると、選択したクライアントの ID だけが常に含まれます。ClientIdNameSelectedItemClientSelectedValuePathComboBoxIdSelectedValue

バインディング:

もちろん、いつでもバインディングを使用できます。

<ComboBox x:Name="clientBox"
    ItemsSource={Binding ClientList}, DisplayMemberPath = "Name" 
    SelectedValuePath="Id"
    SelectedValue={Binding ActiveClient} />
于 2012-04-16T13:37:24.277 に答える