我有一个Flyout,我想在几个类中重用。
<CommandBarFlyout x:Name="BasicFlyout"
AlwaysExpanded="True"
x:Key="ImageContextMenu">
<CommandBarFlyout.SecondaryCommands>
<AppBarButton x:Name="1"
Label="A"/>
<AppBarButton x:Name="2"
Label="B"/>
<AppBarButton x:Name="3"
Label="C"/>
<AppBarButton x:Name="4"
Label="D"/>
</CommandBarFlyout.SecondaryCommands>
</CommandBarFlyout>
我需要附加一个独特的按钮组合多达120个图像和每个图像有一个关联的状态类,其中包含布尔标志是否每个按钮应该是可见或不以及回调每个按钮将设置在代码背后。
理想情况下,它看起来像这样,尽管语法关闭。
CommandBarFlyout flyout = new Resources["ImageContextMenu"] as CommandBarFlyout;
// Set visibility and callbacks
FlyoutBase.SetAttachedFlyout(image, flyout);
问题是我不知道如何在XAML中声明它。看起来代码必须添加到整个项目的资源中,但我不确定如何做到这一点。资源字典不允许我使用CommandBarFlyout作为根元素。
1条答案
按热度按时间s8vozzvw1#
正如您所说,资源字典似乎不允许我们使用CommandBarFlyout作为根元素。
我建议你可以尝试在
StackPanel.Resources
中添加CommandBarFlyout。然后你可以尝试使用{StaticResource} markup extension例如:
或使用{x:Bind} markup extension
比如: