数据网格中的Combobox仅在我第一次右键单击时才起作用

时间:2018-01-26 14:47:15

标签: wpf xaml mvvm combobox datagrid

我在大型现有应用程序中工作,而且我在xaml中遇到组合框问题。起初我以为我有一个绑定问题,并尝试了几种绑定它的方法....

令我惊讶的是,经过无情的搜索,我意外地右击了组合框,然后就像那样工作......(所以绑定似乎有效,但只有在我点击组合框之后)..而且一旦我点击右键组合框,它只是继续工作......这就是数据网格中所有组合框的情况

数据网格之外的其他组合框,工作正常。

我认为app.xaml可能存在问题所以我将样式设置为null ...但仍然没有运气...

我不知道问题可能是什么,并且找不到类似的东西......

有什么想法吗?这与组合框在数据网格内部有关吗?

这是XAML:

        <DataGrid Grid.Row="1" CanUserAddRows="False" CanUserDeleteRows="False" CanUserReorderColumns="False"
              CanUserResizeColumns="False" CanUserResizeRows="False" CanUserSortColumns="False" IsReadOnly="false"
               AutoGenerateColumns="False"
              ItemsSource="{Binding Path=NieuweBelligen, Mode=OneWay}">
        <DataGrid.Columns>
            <DataGridTextColumn Width="2*"
                                Header="{Omschrijving}"
                                Binding="{Binding Omschrijving, Mode=OneWay}" />
            <DataGridTemplateColumn Header="Adeling" Width="1*">
                <DataGridTemplateColumn.CellTemplate>
                    <DataTemplate>
                        <ComboBox ItemsSource="{Binding ACollection}" DisplayMemberPath="AOmschrijving" SelectedValuePath="ID" SelectedValue="{Binding SelectedAID, Mode=TwoWay}"  
                                  Style="{x:Null}">
                        </ComboBox>
                    </DataTemplate>
                </DataGridTemplateColumn.CellTemplate>
            </DataGridTemplateColumn>
        </DataGrid.Columns>
    </DataGrid>

1 个答案:

答案 0 :(得分:1)

DataGrid单元格总是有两种模板:CellTemplateCellEditTemplate
因此,如果您的行进入编辑模式,则会使用CellEditTemplate代替常规CellTemplate

现在你有两个选择:

  1. 定义CellEditTemplate
  2. 的模板
  3. 制作专栏ReadOnly,这样只会使用常规CellTemplate
  4. 如果仍然无法解决您的问题,请发表评论并使用您尝试的新代码更新您的问题。