gpt4 book ai didi

c# - UWP 将 MenuFlyout(Item) 动态添加到现有的 menuflyout

转载 作者:行者123 更新时间:2023-11-30 22:52:51 36 4
gpt4 key购买 nike

我的 DataTemplate 中的 Grid 目前有这个 Flyout

                    <Grid.ContextFlyout>
<MenuFlyout x:Name="AlbumFlyout">
<MenuFlyoutItem Icon="Shuffle" Text="Shuffle" />
<MenuFlyoutItem Icon="Delete" Text="Delete" />
</MenuFlyout>
</Grid.ContextFlyout>

我还有一个动态生成的 Flyout:

    public static MenuFlyout GetAddToPlaylistFlyout()
{
MenuFlyout flyout = new MenuFlyout();
flyout.Items.Add(new MenuFlyoutItem()
{
Icon = new FontIcon() { Glyph = "\uEC4F" },
Text = "Now Playing"
});
flyout.Items.Add(new MenuFlyoutSeparator());
flyout.Items.Add(new MenuFlyoutItem()
{
Icon = new SymbolIcon(Symbol.Add),
Text = "New Playlist"
});
foreach (var playlist in Settings.settings.Playlists)
{
var item = new MenuFlyoutItem()
{
Icon = new SymbolIcon(Symbol.Audio),
Text = playlist.Name
};
flyout.Items.Add(item);
}
return flyout;
}

它是动态生成的,因为我需要经常重用它,并且它的一些 MenuFlyoutItem 是根据用户数据生成的。

如何在 Delete 上方的 Shuffle 下方插入代码生成的 Flyout

---更新---

这是我的 ListView 定义的一部分。

<ListView
x:Name="SongsListView"
Grid.Row="1"
AllowDrop="True"
CanDrag="True"
CanReorderItems="True"
ContainerContentChanging="SongsListView_ContainerContentChanging"
IsItemClickEnabled="True"
ItemClick="SongsListView_ItemClick"
ItemsSource="{Binding Songs, Mode=TwoWay}"
ReorderMode="Enabled"
SelectionMode="None">
<ListView.ItemContainerStyle>
<Style TargetType="ListViewItem">
<Setter Property="HorizontalContentAlignment" Value="Stretch" />
<Setter Property="ContextFlyout" Value="{StaticResource ListViewItemContextFlyout}" />
</Style>
</ListView.ItemContainerStyle>
</ListView>

最佳答案

看起来您有两个固定项目,ShuffleDelete

您想在这两个项目之间插入新生成的 MenuFlyout 项目。试试这个代码:

var newFlyout = GetAddToPlaylistFlyout();
foreach(var item in newFlyout.Items)
{
AlbumFlyout.Items.Insert(AlbumFlyout.Items.Count - 1, item);
}

顺便说一下,如果你的AlbumFlyoutDataTemplate中,在Code-behind中可能不可用,你可以尝试把它放在Page中。 Resources 然后用 StaticResource 引用它。

最好的问候。

关于c# - UWP 将 MenuFlyout(Item) 动态添加到现有的 menuflyout,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57752254/

36 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com