WPF---Combox

如何:获取 ComboBoxItem

更新:2007 年 11 月

ComboBox 绑定到数据源时,通常需要访问 ComboBoxItem 以执行某个操作。 可以通过使用 ItemContainerGenerator 来获取 ComboBoxItem。下面的示例演示一个绑定到名为 myCities 的数据源的 ComboBox

 示例
C#
<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 中选择该项。

C#
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。下面的示例通过指定集合中的对象获取 ComboBox,然后在 ComboBoxItem 中选择该项。

C#
ComboBoxItem cbi = (ComboBoxItem)
cb.ItemContainerGenerator.ContainerFromItem(objectInCollection);

cbi.IsSelected = true;

posted on 2010-01-18 16:22  hackenliu  阅读(2189)  评论(1编辑  收藏  举报

导航