1

让我试着陈述这个问题的最简单版本:

我可以在我的 BOUND DataGrid 中有一个 UNBOUND 下拉类型的列吗?

如果上面的语句太抽象而无法理解,这里是一个例子:

绑定到 named 的named ,DataGrid显示表的一些列,比如 Name、Age 和 City,都是简单的 s。我想在我的网格中添加一个名为 FavSports 的第 4 列,它是一个简单的下拉类型列,绑定到常见运动的静态列表。这里最重要的是(与其他 3 列不同)此下拉列在. 它只是 . 的生命周期所必需的,所以我不会将它存储在任何地方。dgStudentsDataTabledtStudentsDataGridTextColumnDataTableDataGrid

我尝试了以下方法:

<DataGridComboBoxColumn ItemsSource="{StaticResource Sports}">

SportsXAML 中定义的数组在哪里:

<x:Array x:Key="Sports" Type="sys:String">
    <sys:String>Football</sys:String>
    <sys:String>Hockey</sys:String>
    <sys:String>Tennis</sys:String>
</x:Array>

不能让它为我的生活工作。下拉菜单会显示,用户可以从中选择一个值,该值会在用户移动到另一个单元格后显示,但仅此而已。用户返回该单元格后,下拉列表显示为空,即使用户随后离开单元格而不单击下拉列表,之前的值也会消失。

4

1 回答 1

0

如果你只想绑定到你的StaticResource,试试这个:

<DataGridComboBoxColumn ItemsSource="{Binding Source={StaticResource Sports}}">
于 2013-09-09T11:57:05.797 回答