CellEditingTemplate中的ComboBox

时间:2013-12-03 15:27:37

标签: wpf vb.net combobox celleditingtemplate

我正在尝试在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。任何人都可以指出我正确的解决方案。

1 个答案:

答案 0 :(得分:1)

我猜测您已在dtVenues后面的代码中为ComboBox es声明了Window个集合,并设置了Window.DataContext以某种方式对类后面的代码赋予属性值。如果确实如此,那么我认为您需要稍微更改Binding以解决Window.DataContext

<ComboBox ItemsSource="{Binding Path=DataContext.dtVenues, ElementName=MyWindow}"... />