WPF Как использовать выбранный элемент ComboBox в качестве xctk: SelectedObject PropertyGrid в MVVM - PullRequest
0 голосов
/ 06 сентября 2018

У меня есть поле со списком, содержащее элементы другого типа, поэтому я не могу привязать к списку. Я установил элементы в xaml по отдельности, так как их будет всего два, так что в этой ситуации меня не волнуют расходы на обслуживание. У меня также есть сетка свойств (из Xceed), и я хотел бы установить для selectedObject его выбранный элемент моего поля со списком. Я использую шаблон MVVM и не могу найти решение, где вы устанавливаете свойства сетки выбранного объекта в xaml. Вот xaml для комбинированного списка и сетки свойств, там не так много, чтобы посмотреть, просто объявление каждого.

<ComboBox Grid.Row="0" Name="TestComboBox" HorizontalAlignment="Left" Margin="0,0,0,0" VerticalAlignment="Top" Width="Auto">
    <ComboBoxItem <!-- Set the item binding for item 1 to property in view model-->>Item 1</ComboBoxItem>
    <ComboBoxItem <!-- Set the item binding for item 2 to property in view model-->>Item 2</ComboBoxItem>
<xctk:PropertyGrid Grid.Row="1" HorizontalAlignment="Left" Margin="0,0,0,0" VerticalAlignment="Top" SelectedObject="{Binding <!-- Bind to comboBoxes selected item-->}"/>

Я не уверен, возможно ли это вообще, поскольку я думаю, что ComboBox использует список объектов в качестве своей структуры, поэтому, вероятно, он не будет работать, настраивая элементы по отдельности, как я хочу.

1 Ответ

0 голосов
/ 06 сентября 2018

Вы можете привязать свойство SelectedObject к текущему выбранному элементу в ComboBox следующим образом:

<xctk:PropertyGrid ... SelectedObject="{Binding SelectedItem, ElementName=TestComboBox}">

Возможно, вы не хотите добавлять ComboBoxItems к ComboBox в вашей разметке XAML, потому что тогда вы будете привязываться к ComboBoxItem, но это уже другая история.

...