首页 > 解决方案 > XAML ListView 数据绑定到 DateTime

问题描述

在我的 ViewModel 中,我有一个

public ObservableCollection<DateTimeOffset> notOnDates
{
    get => _notOnDates;
    set => SetProperty(ref _notOnDates, value);
}

如何将 ListView 控件绑定到 ViewModel notOnDates?

ItemsSource="{x:Bind viewModel.notOnDates, Mode=OneWay}">
    <ListView.ItemTemplate>
       <DataTemplate x:DataType="x:Object">
          <TextBlock Text="{x:Bind Converter={StaticResource offConverter}}" />
       </DataTemplate>
    </ListView.ItemTemplate>

此行抛出“UWP 中不支持的对象”

 <DataTemplate x:DataType="x:Object">

设计器显示标记错误,但项目构建并运行。

标签: xaml

解决方案


如果 的元素ObservableCollectionDateTimeOffset,则可以传递"system:DateTimeOffset"x:DataType

<ListView.ItemTemplate>
    <DataTemplate x:DataType="system:DateTimeOffset">
        <TextBlock Text="{x:Bind Converter={StaticResource DateConverter}}"/>
    </DataTemplate>
</ListView.ItemTemplate>

推荐阅读