WinUI ListView ObservableColollection绑定不工作



我正在学习新的WinUI平台以及C#中的XAML和GUI编程,我不确定我是否正确理解绑定和更新的工作方式,但我无法获得以下代码(最小工作示例(:主页.xaml

<Page
x:Class="uitest.MainPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d"
Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
<StackPanel Orientation="Horizontal" HorizontalAlignment="Center" VerticalAlignment="Center">
<ListView ItemsSource="{x:Bind Items, Mode=OneWay}"></ListView>
<Button Content="Add" Click="Button_OnClick"></Button>
</StackPanel>
</Page>

主页.xaml.cs

using System.Collections.ObjectModel;
using Microsoft.UI.Xaml;
using Microsoft.UI.Xaml.Controls;
namespace uitest
{
public sealed partial class MainPage : Page
{
public ObservableCollection<string> Items = new ObservableCollection<string>();

public MainPage()
{
this.InitializeComponent();
Items.Add("A");
Items.Add("B");
}
private void Button_OnClick(object sender, RoutedEventArgs e)
{
Items.Add("Next");
}
}
}

当我启动应用程序时,我会看到一个包含两个项目的列表,但当我单击按钮时,什么都没有发生。我想使用实时可视化树进行调试,但由于某种原因,它不起作用。

我在官方的WinUI存储库中为此打开了一个问题,显然这是最新的WinUI 3预览中的兼容性故障。我还应该注意,这不仅适用于UWP平台,而且适用于桌面(Win32(。

最新更新