Window.Show() 不显示窗口
Posted
技术标签:
【中文标题】Window.Show() 不显示窗口【英文标题】:Window.Show() Not Showing Windows 【发布时间】:2011-11-10 05:34:01 【问题描述】:我在创建新窗口时遇到了一个小问题。奇怪的是窗口似乎被创建了,但调用.Show()
或.Activate()
什么也没做。
我用来创建窗口的代码是:
TicketView tv = new TicketView();
tv.Activate();
我最初试图同时设置窗口的数据上下文,但我已经把它拿出来看看是否是问题所在,但我仍然看到相同的行为。无论如何,这就是此时的代码。如果有人有任何想法,我将非常感激!
供参考 - 这是票证视图 XAML
<Window x:Class="Helpdesk.View.TicketView"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="TicketView" Height="300" Width="300">
<Grid>
</Grid>
</Window>
【问题讨论】:
我有一个名为 Window1 的窗口,此代码适用于我Window1 w = new Window1(); w.Show();
你从哪里打电话给Show()
?打电话后怎么办?你的应用程序是做什么的?它退出吗?还有什么?
@Haris 我试过这样做,但它仍然没有显示。这也适用于 2 台 PC。 @svick 我目前正在从父窗口后面代码中的双击事件处理程序中调用它,它简单地运行上面发布的代码。我尝试了.Show()
和.Activate()
,但都不起作用。
您确定要在 UI 线程上创建窗口吗?
我相信我是,是的。不过,我会仔细检查一下,因为这听起来很可能是问题所在。
【参考方案1】:
这取决于你想要做什么。如果它是我的主窗口,我过去所做的是使用Application.Run 方法。如果我尝试从我的应用程序运行另一个窗口,我会使用 ShowDialog 方法。
【讨论】:
我也试过.ShowDialog()
,这只是阻止我点击主窗口上的任何内容。它确实告诉我正在创建我的窗口,但它仍然没有出现。
您是否尝试过检查以确保设置了可见性?
我有。我尝试在调用.Show()
方法之前设置Visibility = Visible
另一个问题是表单屏幕坐标是多少?
尝试将所有者设置为父窗体,然后告诉辅助窗体以中心所有者身份启动以上是关于Window.Show() 不显示窗口的主要内容,如果未能解决你的问题,请参考以下文章