0

图片

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

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

在 C# 中:

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

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

当我在 XAML 中使用 DatePicker 时:

<DatePicker x:Name="D1" />

在 C# 中

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

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

4

1 回答 1

0

对于第一个问题,您需要将字符串转换为 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。

于 2018-01-14T01:51:20.530 回答