根据 https://msdn.microsoft.com/en-us/library/windows/apps/windows.ui.xaml.controls.splitview.paneclosed.aspx,SplitView 控件没有 PaneOpened 事件,只有存在的 SplitView 控件的 PaneClosed 事件。

我在 SplitView Pane 中有一个 Button 控件,它需要根据 Pane 是打开还是关闭来改变大小。所以我的计划是我将放置一段代码,在 PaneOpened 事件中将按钮大小更改为更宽,并在 PaneClosed 事件中将其恢复为小尺寸。但似乎没有 PaneOpened 事件。

我可以通过其他方式实现这一目标吗?

最佳答案

多亏了 UWP 中的新 RegisterPropertyChangedCallback,您现在可以监视任何 DependencyProperty 的属性更改事件,包括 native 的。

public SplitViewPage()
{
    this.InitializeComponent();

    this.splitView.RegisterPropertyChangedCallback(SplitView.IsPaneOpenProperty, IsPaneOpenPropertyChanged);
}

private void IsPaneOpenPropertyChanged(DependencyObject sender, DependencyProperty dp)
{
    // put your logic here
}

关于c# - SplitView.PaneClosed 事件可用,但不适用于 PaneOpened,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31636440/

10-12 02:44