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