如何在splitview的窗格中允许控制关闭uwp中的窗格?

时间:2016-05-26 02:47:25

标签: c# xaml event-handling uwp

我在splitview的窗格中有一个自定义控件。现在我在控件中定义了方法hideinternal(),使控件不可见。但是,同时我也想关闭窗格。我该怎么办? (我知道它是SplitView.IsPaneOpen = false;我不知道如何在控件的代码背后访问它

2 个答案:

答案 0 :(得分:1)

我会在event内提出hideinternal,然后可以在您的视图中订阅,您可以隐藏窗格。

例如在您的自定义控件事件中

public event EventHandler CloseSplitViewPane;

public void OnCloseSplitPaneView(object sender, EventArgs e)
{
    CloseSplitViewPane?.Invoke(sender, e);
}
hideinternal

中的

public void hideinternal()
{   
    OnCloseSplitViewPane(this, new EventArgs());
}

在您的视图中,例如MainPage.xaml.cs构造函数(在此示例中,您的自定义控件称为MyControl)

public MainPage()
{
    this.InitializeComponent();

    MyControl.CloseSplitViewPane += (sender, e) =>
    {
         SplitView.IsPaneOpen = false;
    };
}

希望有所帮助

答案 1 :(得分:-1)

我最终在控件中定义了一个事件处理程序;

public event EventHandler handlesomething;

然后在hideinternal中我通知事件;

private void hideinternal()
{
    doSomething();
    this.NotifyEvent(handlesomething);
}

在主页面的XAML中,我将事件处理程序签名到页面内的一些事件

<Control
   handlesomething ="SomeMethodsInsideMainPage"
/>
相关问题