Автоматическое изменение размера приложений Silverlight 3

#silverlight #onresize

#silverlight #onresize

Вопрос:

Я пытался заставить приложение Silverlight 3 автоматически изменять размер при добавлении строк в datagrids. Я пробовал этот пример, но я просто получаю System.ExecutionEngineException внутреннее исключение с нулевым значением. Я думаю, что это предназначено только для Silverlight 2. Кто-нибудь может сказать мне, как это сделать в Silverlight 3?

Любая помощь по этому вопросу была бы высоко оценена.

Ответ №1:

У меня это работает со следующим:

Добавьте следующий javascript на страницу с вашим объектом silverlight:

  function ResizeObject(height) {
        var host = document.getElementById("silverlightControlHost");
        host.style.height = height   "px";
    } 
  

Добавьте следующее в свой исходный код silverlight:

 public MainPage()
    {
        InitializeComponent();
        this.Loaded  = new RoutedEventHandler(Page_Loaded);
        this.yourRootElement.LayoutUpdated  = new EventHandler(LayoutRoot_LayoutUpdated);
    }

    private void LayoutRoot_LayoutUpdated(object sender, EventArgs e)
    {
        HtmlPage.Window.Invoke("ResizeObject", new object[] { this.yourRootElement.RenderSize.Height });
    }
  

Обратите внимание, что «ResizeObject» относится к функции javascript на вашей веб-странице.