packages/MaterialDesignThemes.2.5.1/src/net45/Converters/CalendarDateCoalesceConverter.cs

(完整代码) 1KB

using System;
using System.Globalization;
using System.Windows.Data;

namespace MaterialDesignThemes.Wpf.Converters
{
    /// <summary>
    /// Help us format the content of a header button in a calendar.
    /// </summary>
    /// <remarks>
    /// Expected items, in the following order:
    ///     1) DateTime Calendar.DisplayDate
    ///     2) DateTime? Calendar.SelectedDate
    /// </remarks>
    public class CalendarDateCoalesceConverter : IMultiValueConverter
    {
        public object Convert(object[] values, Type targetType, object parameter, CultureInfo culture)
        {
            if (values.Length != 2) throw new ArgumentException("Unexpected", "values");
            if (!(values[0] is DateTime)) throw new ArgumentException("Unexpected", "values");
            if (values[1] != null && !(values[1] is DateTime?)) throw new ArgumentException("Unexpected", "values");

            var selectedDate = (DateTime?) values[1];

            return selectedDate ?? values[0];
        }

        public object[] ConvertBack(object value, Type[] targetTypes, object parameter, CultureInfo culture)
        {
            return null;
        }
    }
}

24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明

AI 解读 AI

登录后可用,每次 10 算力,解读结果公开显示在下面。

还没有人解读过这个文件。