C# WPF TreeView列表框数据网格
我正在从事一个小项目,需要满足以下需求:C# WPF TreeView列表框数据网格,c#,wpf,xaml,datagrid,treeview,C#,Wpf,Xaml,Datagrid,Treeview,我正在从事一个小项目,需要满足以下需求: 树视图绑定数据 将treeview项目从treeview拖动(或右键单击)到列表框 选择listboxItem以更改datagrid的绑定数据 现在我已经成功地将数据绑定到treeview,但是当我选择listboxitem时,我看不到datagrid内容更新,我尝试添加一个文本框,从中获得相同的源代码,它可以工作 你能告诉我为什么会这样吗 <Grid DataContext="{Binding ElementName=lb_Configurati
<Grid DataContext="{Binding ElementName=lb_Configuration, Path=SelectedItem}">
<StackPanel HorizontalAlignment="Left">
<TextBlock Text="Basic_Param" Style="{StaticResource Heading2}" Margin="0,0,0,5" />
<StackPanel HorizontalAlignment="Left">
<DataGrid Name="dgBasicInfo" DataContext="{Binding ElementName=lb_Configuration, Path=SelectedItem}" AutoGenerateColumns="True" Margin="0,0,0,15" BorderThickness="2">
<DataGrid.Columns>
<DataGridTextColumn Header="ModelName" Binding="{Binding Path=ModelName}"/>
<DataGridTextColumn Header="CategoryName" Binding="{Binding Path=CategoryName}" />
<DataGridTextColumn Header="InputAddress" Binding="{Binding Path=IntputAddress}" />
<DataGridTextColumn Header="OutputAddress" Binding="{Binding Path=OutputAddress}" />
<DataGridTextColumn Header="DiagAddress" Binding="{Binding Path=DiagAddress}" />
<DataGridTextColumn Header="Description" Binding="{Binding Path=Description}" />
</DataGrid.Columns>
</DataGrid>
</StackPanel>
<TextBox Margin="5" Grid.Column="1" Text="{Binding Path=ModelName}" /></Grid>
您没有将DataGrid实例上的ItemsSource属性绑定到任何对象。您没有将DataGrid实例上的ItemsSource属性绑定到任何对象。这不适用于DataGrid?DataContext只是您的控件所处的“数据世界”。您仍然需要将控件(在本例中为DataGrid)指向具体获取数据的位置。我尝试了以下方法:dgBasicInfo.ItemsSource=App.StoreDb.GetProducts();datagrid确实显示了数据,但在我选择不同的ListBoxItem时没有更改。问题是,如果这样做,则每次SelectedItem更改时,都需要继续分配数据。注册到列表框上的SelectionChanged事件就可以了。我应该如何编写SelectionChanged事件?如果我只是在事件中分配itemsSource,那么datagrid在第一时间就改变了。很抱歉唠叨:)这对datagrid不起作用吗?DataContext只是控件游动的“数据世界”。您仍然需要将控件(在本例中为DataGrid)指向具体获取数据的位置。我尝试了以下方法:dgBasicInfo.ItemsSource=App.StoreDb.GetProducts();datagrid确实显示了数据,但在我选择不同的ListBoxItem时没有更改。问题是,如果这样做,则每次SelectedItem更改时,都需要继续分配数据。注册到列表框上的SelectionChanged事件就可以了。我应该如何编写SelectionChanged事件?如果我只是在事件中分配itemsSource,那么datagrid在第一时间就改变了。很抱歉,我要唠叨:)