C# 带有关联详细信息框GUI的列表

C# 带有关联详细信息框GUI的列表,c#,wpf,datagrid,C#,Wpf,Datagrid,我在C#/WPF中工作,我正在尝试开发一个具有以下布局的窗口: 其思想是单击datagrid中的每个项,并在datagrid下面的控件中查看该项的相关详细信息。我只是不确定什么样的控制才能容纳扩展的细节。实际上,我的问题是关于如何实现这种UI的选项,因为我是WPF的新手。一个简洁且相当简单的解决方案是有两个独立的视图。一个嵌入另一个。包含列出项目的网格是您的主视图。“详细信息”面板是嵌入在第一个视图中的第二个视图 要传达选择的项目和应显示的详细信息,您正在使用绑定。在显示详细信息的面板上,您正

我在C#/WPF中工作,我正在尝试开发一个具有以下布局的窗口:


其思想是单击datagrid中的每个项,并在datagrid下面的控件中查看该项的相关详细信息。我只是不确定什么样的控制才能容纳扩展的细节。实际上,我的问题是关于如何实现这种UI的选项,因为我是WPF的新手。

一个简洁且相当简单的解决方案是有两个独立的视图。一个嵌入另一个。包含列出项目的网格是您的主视图。“详细信息”面板是嵌入在第一个视图中的第二个视图

要传达选择的项目和应显示的详细信息,您正在使用绑定。在显示详细信息的面板上,您正在使用
DataContext
,并将网格上选定的项目绑定到该面板。并且,在网格上,使用
SelectedValue
传达已选择的项目

下面的一些示例应该会让您了解视图之间的关系

<Window
 ...
xmlns:View="clr-namespace:SampleProject.View"
 ...
/>
<Grid>
    <Grid.RowDefinitions>
        <RowDefinition Height="*"/>
        <RowDefinition Height="*"/>
    </Grid.RowDefinitions>
    ...
    <!-- Let's assume that your second view is defined in the View folder -->
    <View:DetailsView DataContext="{Binding SelectedItem, UpdateSourceTrigger=PropertyChanged, Mode=TwoWay}"/>

    <DataGrid ItemsSource="{Binding Items, UpdateSourceTrigger=PropertyChanged, NotifyOnSourceUpdated=True}"
              SelectedValue="{Binding SelectedItem, UpdateSourceTrigger=PropertyChanged}" >
    ...

...
...
是要在
数据网格
中显示的产品的集合。它应该在主视图的ViewModel中实现。
SelectedItem
是ViewModel上的一个属性

请注意,这个示例只是让您了解解决方案的结构,但它远不是一个完整的解决方案。不过,希望它能帮助你理解如何继续你的项目

主要的一点是,面板之间的通信是通过绑定到DataContext(在
DetailsView
上)和SelectedValue(在网格上)来完成的