1

我正在尝试在 DataGrid CellEditingTemplate 中使用 ComboBox,绑定到现有的 DataTable。当我双击该项目时,组合框显示,但其中没有数据。我研究了几天不同的选择,但似乎没有任何效果。

<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。谁能指出我正确的方向以寻求解决方案。

4

1 回答 1

1

我猜你已经在你的代码中为你的es声明了dtVenues集合,并以一种或另一种方式将属性值设置为类后面的代码。如果这是真的,那么我相信您需要稍微改变一下以解决:ComboBoxWindowWindow.DataContextBindingWindow.DataContext

<ComboBox ItemsSource="{Binding Path=DataContext.dtVenues, ElementName=MyWindow}"... />
于 2013-12-03T15:58:10.617 回答