2011-12-23 40 views
2

我想在xaml中创建2个独立的窗口,我想从代码部分单独控制它们。你有什么想法如何做到这一点?如果您可以提供一些代码示例,我将不胜感激。如何使用C#在WPF中创建2个独立的窗口#

谢谢你从现在开始......

+2

您是否尝试过谷歌搜索..境内唯一的访问?在google中输入相同的问题并查看结果以及许多示例。 – MethodMan 2011-12-23 14:11:33

+0

为什么不简单地制作两个窗口?他们必须在同一个XAML文件中吗?如果是这样,为什么? – 2011-12-23 14:11:52

+0

我试过谷歌搜索。但它给了我这样的结果:一个大的主窗口,以及窗口内的一个小窗口。我想尝试的是在不同的位置单独控制它们。不在一个窗口内... @Martin:他们不必在同一个XAML文件中,但他们必须从一个代码控制。 – Samet 2011-12-23 15:41:44

回答

5

添加第二个Window(第一个是MainWindow.xaml)在项目中(右键点击你的项目 - >添加 - >窗口)。我们称之为BobbyWindow。

在MainWindow.xaml.cs的构造函数,调用:

BobbyWindow bWin = new BobbyWindow(); 
bwin.Owner = this; 
bWin.Show(); 

瞧。

编辑:额外信息,以反映意见

这之间的主要区别:

public MainWindow() 
{ 
    InitializeComponent(); 
    Window1 bWin = new Window1(); 
    bWin.Owner = this; 
    bWin.Show(); 
} 

这:

Window1 bWin = new Window1(); 

public MainWindow() 
    { 
     InitializeComponent(); 

     bWin.Owner = this; 
     bWin.Show(); 
    } 

的是,在第一种情况下, bWin是本地到MainWindow的() con这意味着它只存在于MainWindow()的括号内。
第二种情况,bwin的是本地类,这意味着它是从主窗口

+0

对不起,我在另一个窗口使用“this”。我试图给另一个名字打电话,但它没有工作。我不擅长这个话题。如果你向我解释写什么,我将不胜感激。 谢谢... – Samet 2012-01-02 12:45:59

+0

“this”指的是当前对象。根据你写的“this”它指向不同的对象。 – 2012-01-02 13:00:13

+0

我有一个主窗口和你的窗户。通过使用“this”,我用主窗口做了很多事情。所以,我必须使用别的东西才能到达你的窗口。我的意思是我不能这样做:BobbyWindow.Visibility = ....它不接受这个。我使用this.Visibility为主窗口。我怎样才能打电话给你的窗口来达到它? – Samet 2012-01-02 16:37:46

相关问题