在我的MainWindow.xaml中,我有一个Frame。单击按钮时,此框架的内容将发生变化。因此,如果我单击按钮显示私人客户,框架内容将显示私人客户的网站:
private void privatecustomer_Click(object sender, RoutedEventArgs e)
{
Main.Content = new Privatecustomer.privatecustomer_show();
}
单击此按钮后,框架将更改内容。 新内容现在显示Privatecustomer.privatecustomer_show.xaml。 在这个xaml我有另一个按钮。如果我单击此按钮,MainWindow中框架的内容应更改为“Privatecustomer.privatecustomer_add.xaml”。
但是我如何从privatecustomer_show.xaml告诉MainWindow.xaml,单击privatecustomer_show中的Button addPrivatecustomer并且Main.Content必须更改为
Main.Content = new Privatecustomer.privatecustomer_add();
? 我希望我能在这里得到一些帮助
答案 0 :(得分:0)
如何在privateWindow.xaml可以订阅的privatecustomer_show.xaml中添加事件。
喜欢这个
public event EventHandler AddPrivateCustomer;
protected virtual void OnAddPrivateCustomerEventArgs e)
{
if (AddPrivateCustomer!= null)
AddPrivateCustomer(this, e);
}
更新:请注意更新的代码,我在我的第一个版本中犯了一个'''''''''''。
更改您的: private void privatecustomer_Click(object sender,RoutedEventArgs e)
要:
private void privatecustomer_Click(object sender, RoutedEventArgs e)
{
var privateCustomerContent=new Privatecustomer.privatecustomer_show();
privateCustomerContent.AddPrivateCustomer+=onClick_addPrivateCustomer;
Main.Content = privateCustomerContent;
}
private onClick_addPrivateCustomer(object o,EventArgs e)
{
// Change Main.Content
}
我们的想法是,您的privatecustomer_show控件会发送事件,以便在想要更改其访问权限之外的内容时进行更改。 您可以完全控制其所有子窗口的MainWindow将订阅每个事件。
答案 1 :(得分:0)
将Page2.Tag
属性设置为MainWindow
的实例(在Xaml中使用Binding,或者只是在代码中设置它)。单击Page2中指定的Button后,只需使用Tag属性(现在是您的MainWindow)。
另一种选择是使用
App.Current.MainWindow
单击按钮时。 (警告。我不知道你的项目的结构,这可能不是你正在寻找的实例)。