Winui3框架下:此段代码(如下)一经运行便会在App.g.i.cs下的DISABLE_XAML_GENERATED_BREAK_ON_UNHANDLED_EXCEPTION处引发异常,删除Xaml中的TextBlock即可通过,初步判断是绑定问题,查阅文档后亦无所获,还请各位高手指教;
Xaml主要工作代码:
<ListView ItemsSource = "{Binding DList}"> <ListView.ItemTemplate> <DataTemplate x:DataType="Model:ListData"> <Grid Height="50" Margin="6"> <TextBlock Text="{Binding Folder}"/> <TextBlock Text="{Binding Uri}"/> </Grid> </DataTemplate> </ListView.ItemTemplate> </ListView>
其中DList 是一个ObservableCollection<ListData>类型的属性;
ListData结构大致:
public struct ListData { private string folder; private string uri; public ListData(string folder, string uri) : this() { //Do Something } public string Folder { get => folder; set => folder = value; } public string Uri { get => uri; set => uri = value; } }
问题已解决,其在于Style="{StaticResource ...}"中引用了不存在的StaticResource资源对象
原为Style="{StaticResource TitleTextStyle}" 更改为 Style="{StaticResource TitleTextBlockStyle}"
Xaml类似这种的类型检查不是很严格,还是要严格遵守代码提示。
害,看了半小时,最开始还以为是绑定的错误,看了好久文档(甚至Microsoft官方示例都跟我写的一样),没想到是个小地方,还是学艺不精啊。不过Xaml不能直接引发异常也是够不方便的......