C#WPF绑定-组合框selecteditem to Listbox?

C#WPF绑定-组合框selecteditem to Listbox?,c#,wpf,user-interface,C#,Wpf,User Interface,我正在尝试绑定一个组合框,它有两个类别(字母) 和数字),并将其添加到列表框中 以下是C#代码: 类库视图模型 { 公共信函或编号列表库{get;} 公共图书馆视图模型() { lib=新的LetterOrNumberList(); } } 公共类信函或编号列表:ObservableCollection { 公开信或号码表() { 字母和数字字母=新字母和数字(); Letters.Title=“Letters”; ObservableCollection letters=新的Observabl

我正在尝试绑定一个组合框,它有两个类别(字母) 和数字),并将其添加到列表框中

以下是C#代码:

类库视图模型
{
公共信函或编号列表库{get;}
公共图书馆视图模型()
{
lib=新的LetterOrNumberList();
}
}
公共类信函或编号列表:ObservableCollection
{
公开信或号码表()
{
字母和数字字母=新字母和数字();
Letters.Title=“Letters”;
ObservableCollection letters=新的ObservableCollection();
字母。添加(新字母a());
字母。添加(新字母b());
Letters.LetterOrNumber=字母;
LettersAndNumbers=新的LettersAndNumbers();
数字。Title=“数字”;
ObservableCollection编号=新的ObservableCollection();
添加(新的Number1());
添加(新的Number2());
数字。字母或数字=数字;
本条增补(字母);
本节添加(数字);
}
}
公共类字母和数字
{
公共字符串标题{get;set;}
公共ObservableCollection LetterOrNumber{get;set;}
}
公共类LetterA:PropertyChangeClass,例如
{
公共字符串值
{
得到
{
返回_值;
}
设置
{
_价值=价值;
OnPropertyChanged(名称(值));
}
}
公函a()
{
value=“A”;
}
私有字符串_值;
}
公共类字母B:PropertyChangeClass,例如
{
//Principal与类字母A相同
//...
}
公共类编号1:PropertyChangeClass,例如
{
//Principal与类字母A相同
//...
}
公共类编号2:PropertyChangeClass,例如
{
//Principal与类字母A相同
//...
}
公共类PropertyChangeClass
{
公共事件属性更改事件处理程序属性更改;
受保护的虚拟void OnPropertyChanged(字符串PropertyName)
{
PropertyChanged?.Invoke(这是新的PropertyChangedEventArgs(PropertyName));
}
}
公共接口示例
{
字符串值{get;set;}
}
在XAML中,我尝试了以下方法:

<ComboBox Width="100" Name="cBox" Text="Bitte auswählen" ItemsSource="{Binding lib}" DisplayMemberPath="Title"/>
<ListBox Grid.Row="2" ItemsSource="{Binding cBox}" DisplayMemberPath="value"/>

ComboBox绑定工作正常,但我不知道如何绑定 selecteditem依赖项中的嵌套“value”属性

也许有人知道如何解决。谢谢

编辑:

我有一个不同产品的图书馆。每种产品都属于指定的类别。最后,用户应选择一个类别,其产品将动态显示(在列表框中)。我已经在一个可观察的集合中对它进行了排序,它的结构与上面的代码相同。

我终于得到了它:

<ListBox Grid.Row="2" ItemsSource="{Binding ElementName=cBox, Path=SelectedItem.LetterOrNumber, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}">
        <ListBox.ItemTemplate>
            <DataTemplate>
                <Grid>
                    <TextBlock Text="{Binding Path=value}"/>
                </Grid>
            </DataTemplate>
        </ListBox.ItemTemplate>
    </ListBox>

也许一个更好的问题是,使用此绑定您到底需要什么?最终结果如何?
<ListBox Grid.Row="2" ItemsSource="{Binding ElementName=cBox, Path=SelectedItem.LetterOrNumber, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}">
        <ListBox.ItemTemplate>
            <DataTemplate>
                <Grid>
                    <TextBlock Text="{Binding Path=value}"/>
                </Grid>
            </DataTemplate>
        </ListBox.ItemTemplate>
    </ListBox>