微软的ContentDialog不是一直有,而是UWP新的,可以使用Content放用户控件,使用很好,但是一点不好的是,默认的一点击下面按钮就会退出。
我们有时候需要ContentDialog用户输入,而用户没有输入我们想要的,给用户提示,不退出
那么要解决ContentDialog自动退出有两个方法:
第一个很简单,第二个更简单
简单的方法,做一个类继承ContentDialog,然后加一个属性
/// <summary>
/// 对话完成,如果没有完成会继续显示
/// </summary>
public bool Complete
{
set;
get;
}
在Closing判断他是不是为false,如果是,那么取消,取消在e那里
这个简单,就不放代码。
第二个方法,为什么我们要使用自带的按钮?其实可以在我们的控件自己写按钮
那么有新的问题,自己写按钮,那么怎么退出,其实我们可以使用ContentDialog的Hide()方法,这个方法可以让ContentDialog退出,是默认关闭。
我做到这发现,自己做的控件按钮实在有点麻烦,不如用一个简单的方法,我们在我们控件加个属性
/// <summary>
/// 对话完成,如果没有完成会继续显示
/// </summary>
public bool Complete
{
set;
get;
}
当然在PrimaryButtonClick,如果输入和我们要的一样,Complete = true;
SecondaryButtonClick就不需要判断Complete = true;
在最后
while (!控件.Complete)
{
await contentDialog.ShowAsync();
}
本文会经常更新,请阅读原文: https://blog.lindexi.com/post/win10-uwp-ContentDialog-%E7%82%B9%E7%A1%AE%E5%AE%9A%E4%B8%8D%E5%85%B3%E9%97%AD.html ,以避免陈旧错误知识的误导,同时有更好的阅读体验。
如果你想持续阅读我的最新博客,请点击 RSS 订阅,推荐使用RSS Stalker订阅博客,或者收藏我的博客导航
本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。欢迎转载、使用、重新发布,但务必保留文章署名林德熙(包含链接: https://blog.lindexi.com ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。如有任何疑问,请 与我联系 。
无盈利,不卖课,做纯粹的技术博客
以下是广告时间
推荐关注 Edi.Wang 的公众号
欢迎进入 Eleven 老师组建的 .NET 社区
以上广告全是友情推广,无盈利