我有点新手,所以在绑定方面我很不稳定。我已经搜索了很长时间,但我根本找不到任何可以让我到达我需要的地方的例子。
我有一个绑定到可观察集合的 DataGrid。它是一个包含多个属性的自定义类的集合(其中一个属性本身就是一个可观察的集合)。用户将文本输入 DataGrid 并更新 Observable 集合。我希望用户能够右键单击 DataGrid 中的一行并获得一个上下文菜单,其中包含从父可观察集合中项目的可观察集合属性生成的项目。
为简单起见,我的 DataGrid 绑定到 InputItemList,它是 InputItem 的 Observable 集合。
InputItemList 作为 ObservableCollection(Of InputItem)
InputItem 具有属性: Part_Number as String Drawing_List as ObservableCollection(Of DrawingItem)
DrawingItem 具有属性: Revision as String Drawing_Path as String
DataGrid 通过 ItemsSource 绑定到 InputItemList,并且工作正常。对于我的生活,我无法创建一系列绑定到 Drawing_List 集合的菜单项
这是我的 XAML 的简化版本,带有 ??? 我在绑定方面需要帮助:
<DataGrid x:Name="mw_DataGrid" ItemsSource="{Binding Source={StaticResource InputItemList}}">
<DataGrid.Columns>
<DataGridTextColumn Binding="{Binding Path=Part_Number}" CanUserReorder="False" CanUserResize="False" CanUserSort="False" Header=""/>
<DataGrid.Columns>
<DataGrid.ContextMenu>
<ContextMenu>
<MenuItem Header="Open Obsolete Revision" ItemsSource=????>
<MenuItem.ItemContainerStyle>
<Style>
<Setter Property="MenuItem.Header" Value="{Binding Path=Revision}"/>
<Setter Property="MenuItem.Command" Value="{StaticResource cmdOpenObsPDF}" />
<Setter Property="MenuItem.CommandParameter" Value="{Binding Path=Drawing_Path}" />
</Style>
</MenuItem.ItemContainerStyle>
</MenuItem>
</ContextMenu>
</DataGrid.ContextMenu>
</DataGrid>