C# XAML-WPF StringFormat dd/MM/yyyy在同一StringFormat下不能双向工作
C# XAML-WPF StringFormat dd/MM/yyyy在同一StringFormat下不能双向工作,c#,wpf,xaml,data-binding,C#,Wpf,Xaml,Data Binding,StringFormat在视图中正确显示为-dd/MM/yyyy, 但是,当用户更改DateTime时,代码引用此表单的日期MM/dd/yyyy,输入后,StringFormat在视图中再次正确显示为-dd/MM/yyyyy MnfDate和ExpDate的类型是DateTime 我试图添加mode=2,但没有效果 我通过使用日期转换器解决了这个问题 代码如下: [ValueConversion(typeof(DateTime)、typeof(String))] 公共类日期转换器:IValue
StringFormat
在视图中正确显示为-dd/MM/yyyy
,
但是,当用户更改DateTime
时,代码引用此表单的日期MM/dd/yyyy
,输入后,StringFormat
在视图中再次正确显示为-dd/MM/yyyyy
MnfDate
和ExpDate
的类型是DateTime
我试图添加mode=2
,但没有效果
我通过使用
日期转换器解决了这个问题
代码如下:
[ValueConversion(typeof(DateTime)、typeof(String))]
公共类日期转换器:IValueConverter
{
公共对象转换(对象值、类型targetType、对象参数、CultureInfo区域性)
{
DateTime日期=(DateTime)值;
返回日期。ToShortDateString();
}
公共对象转换回(对象值、类型targetType、对象参数、CultureInfo区域性)
{
string strValue=作为字符串的值;
DateTime resultDateTime;
if(DateTime.TryParse(strValue,out resultDateTime))
{
返回resultDateTime;
}
返回dependencProperty.unset值;
}
}
以及相关的标记:
看起来像是ui区域性问题。在下面的链接中查看这两种方法。为入口点附近的所有内容设置区域性,或显式地为每个绑定设置区域性。ספיקורן:在您的屏幕截图中,两个日期的格式都是dd/MM/yyyyy
,不是吗?是的,两个都是。