Xaml Datagrid下拉选择单元格非常挑剔

时间:2012-03-19 12:57:58

标签: wpf silverlight xaml datagrid wpfdatagrid

我在datagrid中有以下列。正如您可以看到它的模板列,在显示其标签时,在编辑模式下,它将成为一个下拉框。我遇到的问题是这个特定的下拉列表只包含数字(0,1,2,3),当用户想要将该行置于编辑模式以编辑该特定单元格时,他必须精确地点击该数字,否则没有任何反应。我想点击整个单元格来触发编辑模式。

我怎样才能做到这一点?

<data:DataGridTemplateColumn Header="Retries" >
                    <data:DataGridTemplateColumn.CellTemplate>
                        <DataTemplate>
                            <!--MouseLeftButtonUp="Label_MouseLeftButtonUp"-->
                            <sdk:Label Content="{Binding RetriesWrapper, Mode=OneWay,ValidatesOnDataErrors=True,NotifyOnValidationError=True}" />
                        </DataTemplate>
                    </data:DataGridTemplateColumn.CellTemplate>
                    <data:DataGridTemplateColumn.CellEditingTemplate>
                        <DataTemplate>
                            <ComboBox ItemsSource="{Binding Source={StaticResource RetriesListItems}, Path=RetriesListItems}" 
                                      SelectedValue="{Binding RetriesWrapper, Mode=TwoWay, ValidatesOnDataErrors=True,NotifyOnValidationError=True}">
                            </ComboBox>
                        </DataTemplate>
                    </data:DataGridTemplateColumn.CellEditingTemplate>
                </data:DataGridTemplateColumn>

1 个答案:

答案 0 :(得分:1)

试试这个:

<sdk:Label Content="{Binding RetriesWrapper, Mode=OneWay,ValidatesOnDataErrors=True,NotifyOnValidationError=True},Background=Transparent" />

和这(可能是可选的):

<ComboBox ItemsSource="{Binding Source={StaticResource RetriesListItems}, Path=RetriesListItems}" 
          SelectedValue="{Binding RetriesWrapper, Mode=TwoWay, ValidatesOnDataErrors=True,NotifyOnValidationError=True}"
          HorizontalAlignment=Stretch
          Background=Transparent>

编辑:背景=透明是常见问题,也可能就是这里的情况...... 见1)那里:What is the worst gotcha in WPF?