我在新创建的 Windows 应用程序中使用 WinUI 3 NavigationView,我正在尝试使用 Template Studio for WinUI 来学习基础知识。我正在尝试使 NavigationViewItem 动态化,如 Microsoft 博客 所示,我可以使用 SQL Server 数据的用户权限来管理它。
我是 XAML 和 MVVM 新手!我知道我将通过 ViewModel 获取 NavigationView 的数据。我创建了几个演示项目并尝试了它们。我已经解决了菜单名称、子菜单、图标信息等值。但是,我无法绑定 x:Uid 值。我做了一些研究,但找不到如何在不使用以 x: 开头的属性中的 Bind 的情况下创建动态结构。
这是我的示例代码:
<NavigationViewItem Content="{x:Bind Name}" MenuItemsSource="{x:Bind Children}" x:Uid="{Bind Id}" >
<NavigationViewItem.Icon>
<SymbolIcon Symbol="{x:Bind CategoryIcon}" />
</NavigationViewItem.Icon>
</NavigationViewItem>
new Category(){
Id = "21",
Name = "Menu item 7",
CategoryIcon = "Home",
Children = new ObservableCollection<Category>() {
new Category() { Id = "211", Name = "Menu item 8", CategoryIcon = "Home" },
new Category() { Id = "212", Name = "Menu item 9", CategoryIcon = "Home" }
}
}
和错误消息:
应该是 x:Uid="{x:Bind Id} 不是 x:Uid="{绑定 ID}