【发布时间】:2016-09-12 11:42:45
【问题描述】:
我想绑定选中的日历视图项并将其设置为 一个日期时间变量。
我的 CalenderView Xaml 看起来像:
<CalendarView Grid.Row="6" Grid.ColumnSpan="2" VerticalAlignment="Center" HorizontalAlignment="Center" FontSize="20"/>
我在 Datacontext 类中有一个 DateTime 项:
private DateTime _DueDate;
public DateTime DueDate
{
get { return this._DueDate; }
set
{
if (this._DueDate != value)
{
this._DueDate = value;
base.PropertyOnChanged("DueDate");
}
}
}
还有 DateTimeConverter:
public class DateConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, string language)
{
DateTime date = ((DateTime)value);
return date.Day + "." + date.Month + "." + date.Year;
}
public object ConvertBack(object value, Type targetType, object parameter, string language)
{
return DateTime.Parse((string)value);
}
}
这也是日历视图的文档:
在文档中是一个属性 SelectedDate,但我只在 XAML SelectedDateChanged EventHandler 中看到。但我想在 MVVM 中进行。
我的问题是我不知道我可以在哪个属性上设置
捆绑。我查看了文档,但只找到了 Date="" 属性
从 DatePicker 但我没有找到 CalenderView 的任何内容。
更新
跟随来自
的评论@Juo Zuo:"CalendarView 有一个 SelectedDates 属性。通常我们可以使用这个属性来设置选定的日期,例如:MyCalendarView.SelectedDates.Add(new DateTime(2016, 5, 5));。但是这个属性是只读,我们不能用它来绑定。所以,恐怕没有办法用Binding设置选定的日期”
我会扩展问题。
我的问题是:
有什么方法可以将日历视图与 MSDN 中的 MVVM 模式一起使用?
【问题讨论】:
-
您可以绑定到日历的
SelectedDate。SelectedDate="{Binding Path=DueDate,Converter={StaticResource DateConverter }}" -
没有SelectedDate 只有SelectedDateChanges EventHandler
-
Mhm 有没有办法在 MVVM 中使用 Calenderview 和 ICommand ?像'calenderview c = sender as CalenderView;日期时间 d = c.Selecteddates;'
标签: c# xaml mvvm uwp win-universal-app