组合框在CellEditingTemplate(ComboBox in CellEditingTem

2019-09-29 15:27发布

我想在DataGrid CellEditingTemplate使用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>

该数据表dtVenues被声明为公共的代码背后(VB)。 任何人都可以请点我一个解决方案的正确方向。

Answer 1:

我猜你已经声明了dtVenues收集您的ComboBox ES在你的代码背后的Window ,并设置Window.DataContext属性值设置为隐藏类的代码以这种或那种方式。 如果这是真的,那么我相信你需要改变你的Binding小幅解决Window.DataContext

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


文章来源: ComboBox in CellEditingTemplate