WPF DatePicker DisplayDate绑定在DataGrid/DataTemplate/ControlTemplate中不起作用
当DatePicker位于datagrid或datatemplate内时,wpf DatePicker的DisplayDate绑定似乎不起作用 下面是示例代码WPF DatePicker DisplayDate绑定在DataGrid/DataTemplate/ControlTemplate中不起作用,wpf,datagrid,datepicker,datatemplate,controltemplate,Wpf,Datagrid,Datepicker,Datatemplate,Controltemplate,当DatePicker位于datagrid或datatemplate内时,wpf DatePicker的DisplayDate绑定似乎不起作用 下面是示例代码 <DataGrid x:Name="grid" AutoGenerateColumns="False" IsReadOnly="True"> <DataGrid.Columns> <DataGridTemplateColumn Header="StartDate" Mi
<DataGrid x:Name="grid" AutoGenerateColumns="False" IsReadOnly="True">
<DataGrid.Columns>
<DataGridTemplateColumn Header="StartDate" MinWidth="155">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<DatePicker SelectedDate="{Binding Path=StartDate}" />
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<DataGridTemplateColumn Header="EndDate" MinWidth="155">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<DatePicker SelectedDate="{Binding Path=EndDate}" DisplayDate="{Binding Path=StartDate}"/>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
</DataGrid.Columns>
</DataGrid>
public class Model
{
public DateTime? StartDate { get; set; }
public DateTime? EndDate { get; set; }
}
公共类模型
{
公共日期时间?开始日期{get;set;}
公共日期时间?结束日期{get;set;}
}
显示日期固定为当前日期。无论开始日期是什么。
我试图设置绑定模式等,但它没有工作。
有什么不对劲吗
注意:尽管初始绑定并不重要,但INotifyPropertyChanged是在原始代码中实现的。
<DatePicker DisplayDate={Binding Path=DisplayDate} Loaded="DatePicker_Loaded" />
private void DatePicker_Loaded(object sender, RoutedEventArgs e)
{
DatePicker dp = sender as DatePicker;
if (dp != null)
{
dp.ClearValue(DatePicker.DisplayDateProperty);
}
}