如何在DataGrid中获取选定的ComboBox条目? (PowerShell WPF)

时间:2019-06-12 14:09:47

标签: wpf powershell data-binding combobox datagrid

我正在尝试在DataGrid中创建一个ComboBox。我实现了用PSCustomObject填充ComboBox。但是我不知道在选择一行后如何从组合框中获取选定的项目...(脚本创建了一个我不希望的新行,称为“ DropDown”)

我认为这与XAML中的绑定有关,但是我无法弄清楚。

我已经搜索了Internet,但没有发现任何帮助。例如,我从同一个人那里找到了这些帖子:

但是他没有发布任何代码,所以我无法检查他如何在脚本中解决它。


该脚本只是测试组合框的一个小例子。

您可以在此处找到脚本:https://pastebin.com/75nsJFzL


我的目标是从整行中获取值,以及从组合框中选择的条目。

感谢您的回答。

1 个答案:

答案 0 :(得分:0)

我遇到了同样的问题,我以这种方式解决了这个问题:

<DataGridTemplateColumn Header="Rezept">
            <DataGridTemplateColumn.CellTemplate>
              <DataTemplate>
                <TextBlock Text="{Binding MyRecipe.Name}"/>
              </DataTemplate>
            </DataGridTemplateColumn.CellTemplate>
            <DataGridTemplateColumn.CellEditingTemplate>
              <DataTemplate>
                <ComboBox ItemsSource="{Binding RelativeSource={RelativeSource AncestorType=UserControl}, Path=DataContext.RecipeList}" DisplayMemberPath="Name" SelectedValue="{Binding MyRecipe}"/>
              </DataTemplate>
            </DataGridTemplateColumn.CellEditingTemplate>
          </DataGridTemplateColumn>

MyRecipe在此DataGrid的DataContext中,但是RecipeList仅在DataGrid祖先的DataContext中。 CellEditingTemplate的末尾是SelectedValue="{Binding MyRecipe}"这个词,它返回组合框的结果。在这种情况下,它将保存在MyRecipe中。 希望对您有帮助。