Pregunta

he estado tratando de conseguir una aplicación de Silverlight 3 para cambiar el tamaño automáticamente cuando se agregan filas a DataGrids. He intentado este ejemplo pero apenas consigo un System.ExecutionEngineException con una excepción interna nula. Creo que esto está dirigido a solamente Silverlight 2. ¿Puede alguien decirme cómo hacer esto en Silverlight 3?

Cualquier ayuda en esto sería muy apreciada.

¿Fue útil?

Solución

He conseguido este trabajo con lo siguiente:

Añadir el siguiente javascript para la página con el objeto de Silverlight:

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

Añadir lo siguiente a su código subyacente 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 });
    }

Tenga en cuenta que "ResizeObject" se refiere a la función de JavaScript en su página web.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top