WPF从XAML设置字符串的值
我想知道是否有可能在每次有人从我的XAML中的datepicker中选择一个新日期时都将一个值设置为字符串。我有一个名为test12的公共字符串。非常感谢大家的帮助WPF从XAML设置字符串的值,wpf,xaml,wpf-controls,wpfdatagrid,Wpf,Xaml,Wpf Controls,Wpfdatagrid,我想知道是否有可能在每次有人从我的XAML中的datepicker中选择一个新日期时都将一个值设置为字符串。我有一个名为test12的公共字符串。非常感谢大家的帮助 <DataGridTemplateColumn Header="testprojectgrid"> <DataGridTemplateColumn.CellTemplate> <DataTemplate> <TextBlock Text="{B
<DataGridTemplateColumn Header="testprojectgrid">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding Start}" />
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
<DataGridTemplateColumn.CellEditingTemplate>
<DataTemplate>
<DatePicker SelectedDate="{Binding}" />
</DataTemplate>
</DataGridTemplateColumn.CellEditingTemplate>
</DataGridTemplateColumn>
您可以将SelectedDate存储在DateTime属性中,并使用StringFormat以所需的任何格式显示它 否则,您可以使用IValueConverter将日期时间转换为字符串,并将字符串转换回日期时间
public class MyConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
string date = value as string;
return DateTime.Parse(date);
}
public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
return value.ToString();
}
}
<DatePicker SelectedDate="{Binding Start, RelativeSource={xxxxxx}, Converter={StaticResource myConverter}}"/>
公共类MyConverter:IValueConverter
{
公共对象转换(对象值、类型targetType、对象参数、System.Globalization.CultureInfo区域性)
{
字符串日期=作为字符串的值;
返回DateTime.Parse(日期);
}
公共对象转换回(对象值、类型targetType、对象参数、System.Globalization.CultureInfo区域性)
{
返回值.ToString();
}
}
您可以为日期选择器添加处理程序。SelectedDateChanged
事件:
<DatePicker SelectedDate="{Binding}"
SelectedDateChanged="DatePicker_SelectionChanged" />
private void DatePicker_SelectionChanged(object sender, SelectionChangedEventArgs args)
{
DatePicker datePicker = (DatePicker)sender;
test12 = datePicker.SelectedDate.ToString();
}
私有无效日期选择器\u SelectionChanged(对象发送者,SelectionChangedEventArgs args)
{
DatePicker DatePicker=(DatePicker)发送方;
test12=datePicker.SelectedDate.ToString();
}
您可以在MSDN的页面上找到更多信息。为什么不将SelectedDate存储在DateTime属性中,并使用StringFormat以您想要的任何格式显示它?我只是想学习如何将值设置为字符串。如果我错了,请纠正我,但如果发现文本绑定到“开始”很奇怪,请纠正我但是SelectedDate绑定到DataContext本身。。DataContext必须是DateTime,但DateTime没有任何Start属性。。