检查ContentDialog是否已打开

时间:2017-07-18 12:39:32

标签: c# xaml uwp

我有一个简单的问题。由于我一次只能打开一个COntentDialog并且在ContentDialog的结束事件中,我的条件会阻止ContentDialog通过args.Cancel = true关闭。因此,ContentDialog.Hide()有时可能无法关闭ContentDialog,并且再次打开对话框时会导致异常。 因此,在任何对话框之前,我希望能够检查其他对话框是否已关闭。我怎么能这样做?

1 个答案:

答案 0 :(得分:4)

Popup内有一个ContentDialog控件,您只需找到它然后检查其IsOpened属性。

// Children method: https://github.com/JustinXinLiu/Continuity/blob/0cc3d7556c747a060d40bae089b80eb845da84fa/Continuity/Extensions/UtilExtensions.cs#L25
var popup = Dialog.Children().OfType<Popup>().Single();
var isOpen = popup.IsOpen;