我有一個List<string>在下面,
List<string> animeList = new()
{
"Current",
"Planning",
"Paused",
"Dropped",
"Custom List"
}
我想根據上面串列中可用的資料在運行時構建一個 XAML 元素。準確地說,我想構建一個NavigationViewItem來自Microsoft.UI.Xaml.Controls如下圖的,

這張圖片中的 Xaml 是硬編碼的,XAML 在下面,
<winui:NavigationViewItem Content="Anime List" x:Name="animeList">
<winui:NavigationViewItem.Icon>
<FontIcon Glyph=""
Style="{StaticResource FontIconStyle}"/>
</winui:NavigationViewItem.Icon>
<winui:NavigationViewItem.MenuItems>
<winui:NavigationViewItem Content="Current"/>
<winui:NavigationViewItem Content="Planning"/>
<winui:NavigationViewItem Content="Paused"/>
<winui:NavigationViewItem Content="Dropped"/>
<winui:NavigationViewItem Content="Custom List"/>
</winui:NavigationViewItem.MenuItems>
</winui:NavigationViewItem>
下面是winui xml命名空間,
xmlns:winui="using:Microsoft.UI.Xaml.Controls"
在這里,NavigationViewItem我想在運行時NavigationViewItem從上面構建 ,而不是硬編碼 。animeList我該怎么做。
提前致謝...
uj5u.com熱心網友回復:
使用屬性將系結NavigationViewItem到您的專案串列:MenuItemsSource
<NavigationViewItem Content="Anime List"
MenuItemsSource="{x:Bind animeList}">
<NavigationViewItem.Icon>
<FontIcon Glyph="" Style="{StaticResource FontIconStyle}"/> />
</NavigationViewItem.Icon>
</NavigationViewItem>
沒有理由顯式回圈。
uj5u.com熱心網友回復:
您可以創建一個回圈,并為每個專案創建一個新的 NavigationViewItem
public MainPage()
{
this.InitializeComponent();
foreach (string anime in animeList)
{
animeNavigationViewItem.MenuItems.Add(
new winui.NavigationViewItem
{
Content = anime
});
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/481618.html
