如何在xaml元素中指定null(例如,当传递给可空类型的集合时)

时间:2014-01-17 07:52:26

标签: .net wpf xaml null nullable

我有一个我写过的WPF IValueConverter。我计划在很多地方使用它。 它有一个公共属性,是可以为空的DateTumes的集合。即清单 例如

private List<DateTime?> _dates = new List<DateTime?>();
public List<DateTime?> Dates 
{ 
  get { return _dates; }
  set { _dates = value; }
}

如何在XAML中传递一组值,包括空值?

我的尝试是

<myns:MyConverter x:key="MyName">
  <myns:MyConverter.Dates>
    <sys:DateTime>1 Jan 2014</sys:DateTime> <!-- this works -->
    <sys:DateTime /> <!-- unf this comes through as 1 Jan 0001 -->
    <sys:DateTime? /> <!-- invalid syntax with the ? character -->
  </myns:MyConverter.Dates>
</myns:MyConverter>

2 个答案:

答案 0 :(得分:3)

您可以在XAML代码中使用:{x:Null}为null

答案 1 :(得分:3)

您可以将<x:Null/>添加到Dates列表中:

<myns:MyConverter x:key="MyName">
    <myns:MyConverter.Dates>
        <sys:DateTime>1 Jan 2014</sys:DateTime>
        <x:Null/>
        <sys:DateTime>2 Jan 2014</sys:DateTime>
    </myns:MyConverter.Dates>
</myns:MyConverter>