gpt4 book ai didi

wpf - 带有 DatePicker 的 DataGridTemplateColumn 需要单击三下才能编辑日期

转载 作者:行者123 更新时间:2023-12-04 14:34:20 24 4
gpt4 key购买 nike

我有一个 DataGridTemplateColumn .在其内部 CellEditingTemplate ,我放了一个DatePicker控制。现在如果我想编辑日期,我必须点击三下才能让DatePicker开始编辑。有人可以告诉我如何获得DatePicker只需单击两次即可进入编辑模式?另外,如果 DataGridTemplateColumn集中注意力,键盘打字不放 DatePicker也进入编辑模式。如果也能修好就好了。

最佳答案

您必须覆盖 PrepareCellForEditDataGridTemplateColumn如下:

public class DataGridDateColumn:DataGridTemplateColumn
{
protected override object PrepareCellForEdit(FrameworkElement editingElement,
RoutedEventArgs editingEventArgs)
{
editingElement.MoveFocus(new TraversalRequest(FocusNavigationDirection.First));
return base.PrepareCellForEdit(editingElement, editingEventArgs);
}
}

XAML
<Custom:DataGrid x:Name="dgData" SelectionUnit="Cell" AutoGenerateColumns="False" CanUserAddRows="False">
<Custom:DataGrid.Columns>
<Custom:DataGridTextColumn Binding="{Binding Subject}" Header="Subject" Width="*"/>
<Custom:DataGridTextColumn Binding="{Binding RaisedBy}" Header="Raised By" Width="100"/>

<DatePickerDGWPF:DataGridDateColumn Header="Raised On" Width="250">
<DatePickerDGWPF:DataGridDateColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding RaisedOn}" />
</DataTemplate>
</DatePickerDGWPF:DataGridDateColumn.CellTemplate>
<DatePickerDGWPF:DataGridDateColumn.CellEditingTemplate>
<DataTemplate>
<Custom:DatePicker SelectedDate="{Binding RaisedOn}"/>
</DataTemplate>
</DatePickerDGWPF:DataGridDateColumn.CellEditingTemplate>
</DatePickerDGWPF:DataGridDateColumn>
</Custom:DataGrid.Columns>
</Custom:DataGrid>

关于wpf - 带有 DatePicker 的 DataGridTemplateColumn 需要单击三下才能编辑日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5176226/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com