【发布时间】:2009-07-15 17:42:53
【问题描述】:
我想获得运行我的 Silverlight 应用程序的浏览器窗口的大小?我尝试了以下几行,但它总是返回零!
public Page()
{
InitializeComponent();
Initialize();
}
public void Initialize()
{
WorldLimits.Y = Application.Current.Host.Content.ActualHeight;
WorldLimits.X = Application.Current.Host.Content.ActualWidth;
gameCore = new GameCore(this);
gameTime = DateTime.Now.TimeOfDay.TotalMilliseconds / 1000;
}
【问题讨论】:
-
Page.xaml 中的 UserControl 标记是什么样的?
-
我确实发现了问题。您提出的调整大小事件处理程序的建议起到了作用。如果您重新发布代码,我可以将其标记为正确答案。
-
奇怪的是,除了事件处理程序之外,这些值不可用。嗯,如果它有效,那么就是这样。
-
原来这些值是可用的,默认情况下它们只是设置为零。我猜它们是在 InitializeComponent() 之后的某个时间设置的。所以你所要做的就是设置一个事件处理程序,一旦它们真正正确,你就会得到它们。
标签: silverlight