gpt4 book ai didi

c# - 将 DateTime 序列化覆盖为字符串

转载 作者:行者123 更新时间:2023-11-30 12:57:40 25 4
gpt4 key购买 nike

在我的 WPF 应用程序中,我想让用户可以选择显示不同时区的所有日期。也就是说,保持数据原样,但仅在 TextBlock Text Binding to DateTime 中以不同方式呈现。

我试图在不引入包装类型或使用转换器的情况下实现这一目标——这将是一个糟糕的设计,因为其他正在处理代码的开发人员很容易错过这一点。此外,现有代码可以保持不变。

有没有办法干预 DateTime 序列化到 TextBlock 绑定(bind)中的字符串并在那里插入我自己的逻辑?使用自定义序列化程序?

否则,我有没有办法覆盖基本的 DateTime.ToString() 方法并在其中插入我自己的逻辑?

最佳答案

你可以在绑定(bind)中使用转换器:
https://msdn.microsoft.com/en-us/library/system.windows.data.ivalueconverter(v=vs.110).aspx
IValueConverter
xaml:

 “Source =”{Binding MyDate, Converter={StaticResource MyDateTimeZoneConverter}}


并将时区转换逻辑添加到类 MyDateTimeZoneConverter:IValueConverter{...}

关于c# - 将 DateTime 序列化覆盖为字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33198302/

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