从Silverlight中的itemscontrol中的动态组合框中捕获选定的值

时间:2012-10-29 21:56:25

标签: silverlight binding combobox itemscontrol selectedvalue

我在尝试从项目控件中创建的一组动态组合框中获取所选值时出现此问题,以便更好地解释这是我的xaml代码。

<ItemsControl Name="ItemsControlP"
                      Width="120"
                      Margin="5"
                      ItemsSource="{Binding ElementName=personWindow, Path=DataContext.City}">
            <ItemsControl.ItemTemplate>
                <DataTemplate>
                    <ComboBox Height="20"
                              DisplayMemberPath="Name"
                              IsSynchronizedWithCurrentItem="True"
                              ItemsSource="{Binding ElementName=personWindow, Path=DataContext.Person}"
                              SelectedIndex="0"/>
                </DataTemplate>
            </ItemsControl.ItemTemplate>
        </ItemsControl>

城市和人是ObservableCollection类型,因此对于每个城市,它显示一个组合框,每个组合框都有一个人员列表,然后我需要在每个组合框中捕获所选值。有没有办法做到这一点?

1 个答案:

答案 0 :(得分:0)

嗨,你可以像这样获得组合框的选择项,

    if (combobox.SelectedItem != null)
        {
            var x = (Person)combobox.SelectedItem;
        }

然后您可以像对待x.name一样访问对象的实体。希望这对你有所帮助。