2010-03-29 21 views
0

我目前在用戶控件中使用了一個datagrid。 datagrid根據行數調整大小,因此會跳出網頁。如何將Silverlight控件調整爲完整網頁

我試過圍繞一個ScrollViewer進行控制,但爲了讓滾動條可見和工作,我需要設置數據網格的MaxHeight。

問題是我不知道數據網格的MaxHeight應該是什麼,因爲它根據屏幕上出現的瀏覽器窗口的大小而不同。

有關如何確定控件大小的任何建議?

回答

2

嗯,我發現了兩種方法。

  • 您可以將數據網格所在的網格行的行高設置爲「*」。這應該使其內部的所有控件保持在當前瀏覽器大小的最大高度。
  • 無論何時瀏覽器調整大小,都有手動控制高度的方法。

公衆的MainPage()

{ 

     InitializeComponent(); 

     App.Current.Host.Content.Resized += new EventHandler(Content_Resized); 
    } 

    void Content_Resized(object sender, EventArgs e) 
    { 
     double height = App.Current.Host.Content.ActualHeight; 
     double width = App.Current.Host.Content.ActualWidth; 

     Test.MaxHeight = height; 
    } 

現在,在這個例子中,我簡單地設置MaxHeight到瀏覽器的高度,但是,你可以添加一些邏輯到計算高度

+1

選項1好,認真如果你需要選項2你做錯了什麼。 – AnthonyWJones 2010-03-29 14:06:52

2

在SL4中,有ViewBox-Control。將其寬度和高度設置爲「自動」時,包含的控件(可以是容器)被拉伸到瀏覽器窗口的大小。