2009-07-15 89 views
3

我想获得运行我的Silverlight应用程序的浏览器窗口的大小?我试过以下几行,但总是返回零!如何在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; 

    } 
+0

什么是你的用户控件的标记看起来像Page.xaml抓住价值? – jcollum 2009-07-15 18:01:56

+0

我发现问题实际上。你建议放置一个调整大小的事件处理程序的窍门。如果您重新发布代码,我可以将其标记为正确的答案。 – Stefan 2009-07-15 18:16:42

回答

6

确保你在事件处理程序

public Page() 
{ 
    InitializeComponent(); 
    App.Current.Host.Content.Resized += new EventHandler(Content_Resized); 
} 

void Content_Resized(object sender, EventArgs e) 
{  
    this.Width = App.Current.Host.Content.ActualWidth; 
    this.Height = App.Current.Host.Content.ActualHeight; 
} 
相关问题