[英]How to pass a Window as a parameter to another class in WPF C#
Part 01 第01部分
Instead of make an object of window then show it like this: 代替使对象成为窗口,然后将其显示为:
private void prof(object sender, RoutedEventArgs e)
{
prof form = new prof();
form.Show();
}
private void multi(object sender, RoutedEventArgs e)
{
multi form = new multi();
form.Show();
}
private void userset(object sender, RoutedEventArgs e)
{
userset form = new userset();
form.Show();
}
private void sysset(object sender, RoutedEventArgs e)
{
sysset form = new sysset();
form.Show();
}
I want to pass the window name to a class and that class can do the stuff 我想将窗口名称传递给一个类,该类可以做
public void loadWindow (ref Window x)
{
x form = new x();
form.Show()
}
then I want to use these syntax: 那么我想使用以下语法:
loadWindow(prof);
loadWindow(multi);
loadWindow(userset);
How can I do that? 我怎样才能做到这一点? any help would be appreciated 任何帮助,将不胜感激
If I'm interpreting your question correctly then you should be able to use a generic method: 如果我正确解释了您的问题,那么您应该可以使用通用方法:
public void LoadWindow<TWindow>() where TWindow : Window, new()
{
var form = new TWindow();
form.Show();
}
You would then call it like this: 然后,您可以这样称呼它:
LoadWindow<Window1>();
Use Generics, 使用泛型
private void loadWindow<T>() where T : Window, new()
{
T w = new T();
w.Show();
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.