Как отобразить и привязать значение в предварительно заполненном комбинированном списке к другому свойству объекта комбинированного списка - PullRequest
0 голосов
/ 24 мая 2019

У меня есть дочерний комбинированный список, который предварительно заполнен следующими свойствами -

 public KeyValuePair<int, string>[] _imageProcessorTypeItems = {
            new KeyValuePair<int, string>(0, "Face"),
            new KeyValuePair<int, string>(1, "Frame"),
            new KeyValuePair<int, string>(2, "Recognized")
        };

XAML для ComboBox

 <ComboBox Header="Type" x:Name="ImageProcessorType" 
    Grid.Row="0" Grid.Column="0" Width="400" HorizontalAlignment="Stretch" 
    ItemsSource="{Binding ImageProcessorTypeItems}" DisplayMemberPath="Value" 
    SelectedValuePath="Value"
    SelectedValue="{Binding Path=SelectedImageProcessorsValue , Mode=TwoWay}" />

У меня есть главный комбинированный ящик, который загружен ImageProcessorТип Класс Объект, который находится ниже -

public int ProcessorId { get; set; }
public string ProcessorName { get; set; }
public ProcessorType processorType { get; set; }
public bool ProcessorEnabled { get; set; }
public int ProcessorMaxThroughput { get; set; }
public string ProcessorURI { get; set; }
public string ProcessorMaxRes { get; set; }
public ProcessorImageFormat processorImageFormat { get; set; }
public string ProcessorArgs { get; set; }
public string ProcessorImageSize { get; set; }

public enum ProcessorType
{
    Frame = 1,
    Face = 2,
    Recognized = 3
}

XAML Для основного ComBoBox -

 <ComboBox Header="Image Processors For Tenant" x:Name="SelectedImageProcessors" 
    Grid.Row="0" VerticalAlignment="Top" 
    IsEnabled="{Binding Path=EnableSelectedImageProcessors}" 
    HorizontalAlignment="Stretch"
    ItemsSource="{Binding Path=SelectedImageProcessorsItems}" 
    SelectedValuePath="ProcessorId"  SelectedValue="" 
    DisplayMemberPath="ProcessorName"
    SelectedItem="{Binding Path=SelectedImageProcessorsValue, Mode=TwoWay}" />

Главный комбинированный список загружен с объектом ImageProcessors, к которому я добавляю значения из другого кода -

Мое требование заключается в том, что когда я выбираю ImageProcessor ProcessorName (который является DisplayMemberPath и значением в качестве описания появившегося комбинированного списка), соответствующий ChildCombox также должен изменяться со значением согласно свойству ProcessorType на SelectedItem вГлавное комбинированное окно.

Я играю с SelectedValue, SelectedValuePath и SelectedItem, но не могу понять это правильно.

...