C# 阻止Splitview窗格关闭和阻止关闭动画

C# 阻止Splitview窗格关闭和阻止关闭动画,c#,xaml,uwp,C#,Xaml,Uwp,如果满足特定条件,是否有方法防止UWP Splitview关闭?我已实现以下PropertyChange回调: MySplitView.RegisterPropertyChangedCallback(SplitView.IsPaneOpenProperty, MySplitViewPaneOpenPropertyChanged); 看起来是这样的: private void MySplitViewPaneOpenPropertyChanged(DependencyObject sender,

如果满足特定条件,是否有方法防止UWP Splitview关闭?我已实现以下PropertyChange回调:

MySplitView.RegisterPropertyChangedCallback(SplitView.IsPaneOpenProperty, MySplitViewPaneOpenPropertyChanged);
看起来是这样的:

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

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

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

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


我看到的唯一方法是使用DisplayMode=“Inline”而不是“Overlay”。但是如果你需要内联模式,这是没有用的。我真的找到了!检查我发布的答案。谢谢你的评论哈哈,我刚刚找到了这个解决方案,当我回到这里时,你已经自己解决了。经过多次实验,我确定通过SplitViewPaneClosingEventArgs取消只在显示模式为Overlay或CompactOverlay时有效,并且通过用户与灯光关闭层交互关闭窗格,但当它以编程方式关闭时(即使用IsPaneOpen=false)
<Splitview PaneClosing="SplitView_PaneClosing"/>
private void SplitView_PaneClosing(SplitView sender, SplitViewPaneClosingEventArgs args)
{
    if (preventClose == true)
    {
        args.Cancel = true;
    }
}