Mar*_*han 5 c# xaml flyout windows-runtime windows-8.1
在Windows 8.1中,当本机SettingsFlyout可见时,我点击其他地方,无论是在我的应用程序还是在其他应用程序中,弹出按钮都会消失.
有没有办法让它保持可见,直到我手动解雇?我的用例 - 我想显示"登录"SettingsFlyout,当用户离开应用程序并搜索他的登录名和密码时,它不会消失.
我已经检查了它的MSDN页面,但没有找到"Sticky"弹出窗口的简单属性.
谢谢你的提示!
有一种方法可以在不使用带有SDK中默认控件的Callisto库的情况下执行此操作.
public class CustomSettingsFlyout : SettingsFlyout
{
bool back = false;
private Popup popup;
public void ShowWindow()
{
ShowIndependent();
back = false;
popup = (Parent as Popup);
popup.IsLightDismissEnabled = false;
popup.Closed += Popup_Closed;
this.BackClick += CustomSettingsFlyout_BackClick;
}
void CustomSettingsFlyout_BackClick(object sender, BackClickEventArgs e)
{
back = true;
}
private void Popup_Closed(object sender, object e)
{
if (!back) popup.IsOpen = true;
}
}
Run Code Online (Sandbox Code Playgroud)
现在调用ShowWindow方法是新控件上ShowIndependent的位置.
CustomSettingsFlyout flyout = new CustomSettingsFlyout();
flyout.Content = new Grid();
flyout.ShowWindow();
Run Code Online (Sandbox Code Playgroud)
小智 1
无法使用默认 API 使 SettingsFlyout 像 AppBar 那样“粘性”。实现您的场景的最佳方法是制作一个类似 SettingsFlyout 的自定义弹出窗口;Callisto 库实现了一个,您可以关闭 Popup 上的 IsLightDismissEnabled 以使其“粘性”。
| 归档时间: |
|
| 查看次数: |
2447 次 |
| 最近记录: |