我在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>
答案 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?