Как изменить размер элемента управления Silverlight на полную страницу - PullRequest
0 голосов
/ 29 марта 2010

В настоящее время я использую сетку данных в пользовательском элементе управления. Размер сетки данных изменяется в зависимости от количества строк и, следовательно, удаляется с веб-страницы.

Я попытался обернуть элемент управления вокруг ScrollViewer, но для того, чтобы полоса прокрутки была видимой и работала, мне нужно установить MaxHeight сетки данных.

Проблема в том, что я не знаю, каким должен быть MaxHeight сетки данных, потому что он отличается в зависимости от размера окна браузера, отображаемого на экране.

Любые предложения о том, как определить правильный размер элемента управления?

Ответы [ 2 ]

2 голосов
/ 29 марта 2010

Ну, я нашел два способа сделать это.

  • Вы можете установить высоту строки строки сетки, в которой находится сетка данных, на «*». Это должно держать все элементы управления внутри него на максимальной высоте текущего размера браузера.
  • Существует способ ручного управления высотой при изменении размера браузера.

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 на высоту браузера, однако вы можете добавить немного логики в вычисление высоты

2 голосов
/ 29 марта 2010

В SL4 есть ViewBox-Control. Если для его ширины и высоты задано значение «Авто», содержащий элемент управления (который может быть контейнером) растягивается до размера окна браузера.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...