我正在尝试在DataGrid中创建一个ComboBox。我实现了用PSCustomObject
填充ComboBox。但是我不知道在选择一行后如何从组合框中获取选定的项目...(脚本创建了一个我不希望的新行,称为“ DropDown”)
我认为这与XAML中的绑定有关,但是我无法弄清楚。
我已经搜索了Internet,但没有发现任何帮助。例如,我从同一个人那里找到了这些帖子:
但是他没有发布任何代码,所以我无法检查他如何在脚本中解决它。
该脚本只是测试组合框的一个小例子。
您可以在此处找到脚本:https://pastebin.com/75nsJFzL
我的目标是从整行中获取值,以及从组合框中选择的条目。
感谢您的回答。
答案 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
中。
希望对您有帮助。