#silverlight #xaml
#silverlight #xaml
Вопрос:
У меня есть ItemsControl в моем приложении. Страница, связанная с ItemsControl, привязана к модели представления. Модель представления включает в себя два свойства: люди и параметры. Для каждого пользователя я хочу отобразить список параметров в выпадающем списке. Параметры определены в моей модели представления. Мой код выглядит следующим образом:
<ItemsControl ItemsSource="{Binding Path=People}">
<ItemsControl.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<ComboBox ItemsSource="Options" DisplayMemberPath="FullName" />
</StackPanel>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
Однако, поскольку каждый элемент представляет человека, поле со списком просматривает объект Person для свойства с именем «Параметры». Как мне ссылаться на модель представления для из выпадающего списка вместо Person?
Спасибо!
Ответ №1:
Вы можете использовать следующий метод
<ComboBox ItemsSource="{Binding ElementName=LayoutRoot, Path=DataContext.Options}" DisplayMemberPath="FullName" />
Предполагая, что DataContext вашего LayoutRoot является моделью представления. Если нет, вы можете присвоить своему ItemsControl имя и использовать его для имени элемента.