我正在尝试在DataGrid CellEditingTemplate中使用ComboBox,绑定到现有的DataTable。当我双击该项时,ComboBox会显示,但其中没有数据。我已经研究了几天的不同选项,但似乎没有任何效果。
<DataGridTemplateColumn Header=" Venue" CanUserSort="False">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding Venue}"/>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
<DataGridTemplateColumn.CellEditingTemplate>
<DataTemplate>
<ComboBox ItemsSource="{Binding Path=dtVenues, ElementName=MyWindow}"
DisplayMemberPath="Venue"
SelectedValuePath="Venue"
Text="{Binding Venue}"/>
</DataTemplate>
</DataGridTemplateColumn.CellEditingTemplate>
</DataGridTemplateColumn>
DataTable dtVenues在代码后面(VB)声明为Public。任何人都可以指出我正确的解决方案。
答案 0 :(得分:1)
我猜测您已在dtVenues
后面的代码中为ComboBox
es声明了Window
个集合,并设置了Window.DataContext
以某种方式对类后面的代码赋予属性值。如果确实如此,那么我认为您需要稍微更改Binding
以解决Window.DataContext
:
<ComboBox ItemsSource="{Binding Path=DataContext.dtVenues, ElementName=MyWindow}"... />