HOW TO:取得 ComboBoxItem
更新:2007 年 11 月
將 ComboBox 繫結至資料來源時,通常需要進入 ComboBoxItem 才能執行特定動作。您可以使用 ItemContainerGenerator 取得 ComboBoxItem。下列範例顯示繫結至資料來源 myCities 的 ComboBox。
範例
<ComboBox Name="cb" Margin="10,10,3,3" Width="200" Height="30" Grid.Column="0" Grid.Row="2"
ItemsSource="{StaticResource myCities}" Text="My Cities"
IsEditable="true" IsReadOnly="true"
IsDropDownOpen="True" StaysOpenOnEdit="True">
</ComboBox>
您可以使用 ItemContainerGenerator.ContainerFromIndex 方法,並指定所要項目的索引,以取得 ComboBoxItem。下列範例會透過指定項目的索引來取得 ComboBoxItem,然後在 ComboBox 中選取該項目。
private void GetComboBoxItem(int index)
{
ComboBoxItem cbi = (ComboBoxItem)
(cb.ItemContainerGenerator.ContainerFromIndex(index));
cbi.IsSelected = true;
Info.Content = "I visited " +
(cbi.Content.ToString()) + ".";
}
有時資料來源中會有項目的物件,但是不知道它的索引。在這種情況下,可以使用 ItemContainerGenerator.ContainerFromItem 方法來取得 ComboBoxItem。下列範例會透過指定集合中的物件來取得 ComboBoxItem,然後在 ComboBox 中選取該項目。
ComboBoxItem cbi = (ComboBoxItem)
cb.ItemContainerGenerator.ContainerFromItem(objectInCollection);
cbi.IsSelected = true;