0

我想知道是否可以在每次有人从我的 XAML 中的日期选择器中选择一个新日期时为字符串设置一个值。我有一个名为 test12 的公共字符串。非常感谢大家提前提供的帮助

 <DataGridTemplateColumn Header="testprojectgrid">
    <DataGridTemplateColumn.CellTemplate>
        <DataTemplate>
           <TextBlock Text="{Binding Start}" />
              </DataTemplate>
                    </DataGridTemplateColumn.CellTemplate>
                    <DataGridTemplateColumn.CellEditingTemplate>
              <DataTemplate>
                     <DatePicker SelectedDate="{Binding}" />
         </DataTemplate>
     </DataGridTemplateColumn.CellEditingTemplate>
  </DataGridTemplateColumn>
4

2 回答 2

0

您可以将 SelectedDate 存储在 DateTime 属性中,并使用 StringFormat 以您想要的任何格式显示它。

否则,您可以使用 IValueConverter 将 DateTime 转换为字符串并将字符串转换回 DateTime

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}}"/>
于 2013-09-09T14:45:21.607 回答
0

您可以为DatePicker.SelectedDateChanged事件添加处理程序:

<DatePicker SelectedDate="{Binding}" 
    SelectedDateChanged="DatePicker_SelectionChanged" />

private void DatePicker_SelectionChanged(object sender, SelectionChangedEventArgs args)
{
    DatePicker datePicker = (DatePicker)sender;
    test12 = datePicker.SelectedDate.ToString();
}

您可以从MSDN 上的DatePicker.SelectedDateChanged 事件页面了解更多信息。

于 2013-09-09T14:45:34.750 回答