防止拆分视图窗格关闭并防止关闭动画

All*_*olo 2 c# xaml uwp

如果满足特定条件,有没有办法防止 UWP Splitview 关闭?我实现了以下 PropertyChange 回调:

MySplitView.RegisterPropertyChangedCallback(SplitView.IsPaneOpenProperty, MySplitViewPaneOpenPropertyChanged);
Run Code Online (Sandbox Code Playgroud)

看起来像这样:

private void MySplitViewPaneOpenPropertyChanged(DependencyObject sender, DependencyProperty dp)
    {
        if (preventClose == true)
        {
            TrashSplitView.IsPaneOpen = true;
        }
    }
Run Code Online (Sandbox Code Playgroud)

此代码使拆分视图窗格保持打开状态,但会短暂启动动画。有没有办法阻止动画开始?

All*_*olo 5

在深入研究 Splitview 必须提供的方法和事件之后,我找到了一个简单的解决方案。希望这个答案能帮助其他人尝试做同样的事情。

Splitview 类上有一个名为“PaneClosing”的事件

<Splitview PaneClosing="SplitView_PaneClosing"/>
Run Code Online (Sandbox Code Playgroud)

在事件处理程序中,您可以完全取消此关闭动画,如下所示:

private void SplitView_PaneClosing(SplitView sender, SplitViewPaneClosingEventArgs args)
{
    if (preventClose == true)
    {
        args.Cancel = true;
    }
}
Run Code Online (Sandbox Code Playgroud)