2016-05-26 9 views
0

私はsplitviewの枠内にカスタマイズされたコントロールを持っています。今私は方法をhideinternal()コントロール内で定義されているコントロールを非表示にします。しかし、同時に私はペインを閉じたいと思う。私は何をすべきか?私は、あなたがペインを隠すことができ、あなたのビューにに加入することができhideinternal内からeventを引き上げるsplitviewのペイン内で制御を許可する方法uwpのペインを閉じますか?

答えて

0

(私はそれは私が背後にあるコントロールのコード内で、それへのアクセスを取得する方法がわからないSplitView.IsPaneOpen = false;知っています) 。

例えば、あなたのカスタムコントロールでは、この例ではイベントの例MainPage.xaml.csコンストラクタのためのあなたのビューで

public event EventHandler CloseSplitViewPane; 

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

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

(あなたのカスタムコントロールをMyControlと呼ばれています)

public MainPage() 
{ 
    this.InitializeComponent(); 

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

希望帽子は役に立ちます

+0

内のいくつかのイベントにイベントハンドラを署名しますが、どのような方法のおかげ。 – litaoshen

+0

あなたがここで使ったものを投稿し、回答としてマーク;) – SWilko

+0

すでにしました。あなたはそれを下に見ることができます。 – litaoshen

0

私は最終的にコントロール内にイベントハンドラを定義しました。

public event EventHandler handlesomething; 

次に、hideinternalでイベントを通知します。

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

は、メインページのXAMLで私は別の方法を使用して終了ページ

<Control 
    handlesomething ="SomeMethodsInsideMainPage" 
/> 
関連する問題