WPF:PersianDatePicker 显示日期格式短的最佳方式

问题描述 投票:0回答:1

enter image description here 当您查看图片时,我想通过“yyyy/mm/dd”在我的 TextBox 或 PersianDatePicker 中显示简短的日期形式。 但是当我在 XAML 中使用 PersianDatePicker 的代码时:

    <PersianDateControls:PersianDatePicker x:Name="ImgDateReq"/>

在 C# 中:

    ImgDateReq.Text = query.ImgDateRequest.ToString();

我收到此错误: 错误 3 无法将类型“string”隐式转换为“Arash.PersianDate”

当我在 XAML 中使用 DatePicker 时:

    <DatePicker x:Name="D1" />

在 C# 中

    D1.Text = query.ImgDateRequest.ToString();

我得到结果了。 如何以短格式显示我的 PersianDateControl,如 DatePicker

wpf datepicker persian-calendar
1个回答
1
投票

对于第一个问题,您需要将字符串转换为Arash.PersianDate。

以下示例说明了它的外观,并且不是确切的解决方案:

string dtString = query.ImgDateRequest.ToString()
ImgDateReq.Text = new PersianDate(dtString);

您需要了解如何将该字符串转换为 Arash.PersianDate 对象。


另外一点,您似乎没有使用 MVVM 模式,这通常是处理 WPF 的错误方法。目前,您正在自己更新 UI 元素属性,这仅在特殊情况和/或必要时完成。

我建议研究 WPF 的 MVVM 模式

从那里开始,一旦您拥有 ViewModel 并将所述 ViewModel 绑定到 View,您就可以使用 数据绑定 转换器 来绑定和转换您的 DateTime 字符串。

此外,您还需要使用 PropertyChanged 通知来更新 UI。

© www.soinside.com 2019 - 2024. All rights reserved.