gpt4 book ai didi

wpf - DatePicker DisplayDate 绑定(bind)问题

转载 作者:行者123 更新时间:2023-12-03 10:30:03 24 4
gpt4 key购买 nike

当 DatePicker 在 ControlTemplate 中时,DisplayDate 似乎没有正确绑定(bind)。

这就是我通过 MVVM 将 DisplayDate 绑定(bind)到 DatePicker 的方式。但是 DatePicker 不会正确显示 CustomDisplayDate。它保持显示默认显示日期,即 DateTime.Now()。

请记住,如果 DatePicker 不在 ControlTemplate 中,则此代码确实有效。

关于如何解决这个问题的任何建议?

XAML 代码:

<Window.Resources>
<ControlTemplate x:Key="DateField">
<StackPanel>
<TextBlock Text="Custom Display Date:" />
<TextBlock Text="{Binding CustomDisplayDate}"/>
<DatePicker
SelectedDate="{Binding CustomSelectedDate}"
DisplayDate="{Binding CustomDisplayDate}"
HorizontalAlignment="Left"
VerticalAlignment="Top"/>
</StackPanel>
</ControlTemplate>
</Window.Resources>
<Grid>
<ContentControl Template="{StaticResource DateField}" />
</Grid>

和 View 模型:
public class MainWindowViewModel
{
public MainWindowViewModel()
{
CustomDisplayDate = DateTime.Now.AddDays(5);
}

public DateTime? CustomSelectedDate { get; set; }
public DateTime CustomDisplayDate { get; set; }
}

最佳答案

这里的第一个问题是您没有使用 INotifyPropertyChanged .

请查看以下链接的文章:

  • C#, WPF, MVVM and INotifyPropertyChanged
  • MVVM: Tips when implementing INotifyPropertyChanged
  • INotifyPropertyChanged WPF
  • 关于wpf - DatePicker DisplayDate 绑定(bind)问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8397856/

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