检查 ContentDialog 是否打开

rav*_*mar 2 c# xaml uwp

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

Jus*_* XL 5

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;
Run Code Online (Sandbox Code Playgroud)

  • 除了回答我的问题,我发现这种方法非常有用。 (2认同)