gpt4 book ai didi

c# - 使用 WPF 的日期转换器

转载 作者:太空狗 更新时间:2023-10-30 00:19:36 25 4
gpt4 key购买 nike

public class DateTimeConverter : IValueConverter
{
#region IValueConverter Members

public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
if (values != null)
{
DateTime test = (DateTime) value ;
string date = test.ToString("d/M/yyyy");
return (date);
}
return string.Empty;
}

public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
throw new NotImplementedException();
}

#endregion
}

一旦从 DatePicker 中选择了日期,我就让这个转换器获取当前时间。在字符串日期中,我得到了从 DatePicker 中选择的值,但我似乎不能只得到日期。进入 Value 属性的格式是 9/24/2013 12:00:00,但我希望它是 9/24/2013。我已经在 datetime converter WPF 上问过类似的问题,但提供的答案均无效。我得到同样的错误:指定的转换无效。

最佳答案

执行此操作不需要转换器。您可以在绑定(bind)中使用 StringFormat 来格式化您选择的日期时间以仅以 mm/dd/yyyy 格式显示日期。

<TextBlock Text="{Binding Date, StringFormat={}{0:MM/dd/yyyy}}" />

我用这段代码进行了测试,它运行良好。XAML:

<DataGrid AutoGenerateColumns="False" ItemsSource="{Binding TestList}">
<DataGrid.Columns>
<DataGridTemplateColumn Header="Start">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding Start, StringFormat=d}" FontFamily="Verdana" />
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
<DataGridTemplateColumn.CellEditingTemplate>
<DataTemplate>
<DatePicker SelectedDate="{Binding Start}" FontFamily="Verdana" >
<DatePicker.CalendarStyle>
<Style TargetType="Calendar">
<Setter Property="DisplayMode" Value="Month"/>
</Style>
</DatePicker.CalendarStyle>
</DatePicker>
</DataTemplate>
</DataGridTemplateColumn.CellEditingTemplate>
</DataGridTemplateColumn>
</DataGrid.Columns>
</DataGrid>

型号:

    public class TestData
{
DateTime start;
public DateTime Start
{
get { return start; }
set { start = value; }
}

}

ViewModel 具有要绑定(bind)到 DataGrid 的 TestData 列表:

public List<TestData> TestList { get; set; }

关于c# - 使用 WPF 的日期转换器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18662870/

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