适用于UWP的应用程序广泛的Flyout
我在我的应用程序中有一个弹出窗口,用于将其他联系人添加到本地数据库中。 此弹出窗口当前被声明为页面资源,并且完全符合我的需要,但是为了在不同的页面上重新使用它,我需要将弹出窗口的xaml和任何attatched事件复制到每个页面。需要使用它(有几个地方可能需要添加联系人)
有没有办法全局定义一个弹出窗口,这样我只需要引用它而不是每次硬编码? 我考虑使用ContentDialog
(因为它可以定义为自己的模块),但我不认为这是合适的
如果在代码中完全创建不是一个选项,您可以在后台创建一个带有类的ResourceDictionary。 首先是Styles.xaml
:
这里重要的是x:Class
,其中值必须是我们现在创建的相关类的名称空间+名称(在这种情况下为Styles.cs
):
namespace MyClass { public partial class Styles { public Styles() { this.InitializeComponent(); } // my events from flyout } }
确保该类声明为partial
并在构造函数中调用this.InitializeComponent()
。
现在在你的app资源中添加一个引用:
然后,您可以将Flyout作为静态资源访问,例如: