簡體   English   中英

如何允許控件在splitview的窗格內關閉uwp中的窗格?

[英]How to allow control inside the splitview's pane close the pane in uwp?

我在splitview的窗格中有一個自定義控件。 現在,我在控件內部定義了hideinternal()方法,該方法使控件不可見。 但是,同時我也想關閉窗格。 我該怎么辦? (我知道它是SplitView.IsPaneOpen = false;我不知道如何在后面的控件代碼中訪問它)

我會從hideinternal內部引發一個event ,然后可以在您認為可以隱藏窗格的視圖中對其進行訂閱。

例如在您的自定義控件中

public event EventHandler CloseSplitViewPane;

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

內部

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

在您的視圖中,例如MainPage.xaml.cs構造函數(在此示例中,您的自定義控件稱為MyControl)

public MainPage()
{
    this.InitializeComponent();

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

希望能有所幫助

我終於在控件中定義了一個事件處理程序;

public event EventHandler handlesomething;

然后在hideinternal內部通知事件;

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

在主頁的XAML中,我將事件處理程序簽名為頁面內的某些事件

<Control
   handlesomething ="SomeMethodsInsideMainPage"
/>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM