如何将Silverlight控件的大小调整为完整的网页

时间:2010-03-29 09:02:36

标签: silverlight

我目前正在用户控件中使用数据网格。数据网格根据行数调整大小,因此不在网页上。

我尝试在ScrollViewer周围包装控件,但为了让滚动条可见并且正常工作,我需要设置datagrid的MaxHeight。

问题是我不知道数据网格的MaxHeight应该是什么,因为它根据屏幕上显示的浏览器窗口的大小而有所不同。

有关如何确定控件正确大小的任何建议吗?

2 个答案:

答案 0 :(得分:2)

在SL4中,有ViewBox-Control。将“宽度”和“高度”设置为“自动”,包含的控件(可以是容器)将拉伸到浏览器窗口的大小。

答案 1 :(得分:2)

好吧,我找到了两种方法。

  • 您可以将数据网格所在的网格行的行高设置为“*”。这应该将其中的所有控件保持在当前浏览器大小的最大高度。
  • 无论何时调整浏览器大小,都有一种手动控制高度的方法。

public 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设置为浏览器的高度,但是,您可以在计算高度时添加一些逻辑