2010-05-19 7 views
0

J'ai essayé d'obtenir une application Silverlight 3 pour redimensionner automatiquement lorsque les lignes sont ajoutées à DataGrid. J'ai essayé this example mais je viens d'obtenir un System.ExecutionEngineException avec une exception interne nulle. Je pense que cela ne concerne que Silverlight 2. Quelqu'un peut-il me dire comment faire cela dans Silverlight 3?Redimensionner automatiquement Silverlight 3 applications

Toute aide à ce sujet serait grandement appréciée.

Répondre

0

J'ai eu ce travail avec les éléments suivants:

Ajouter le javascript suivant à la page avec votre objet silverlight:

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

Ajouter ce qui suit à votre silverlight codebehind:

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 }); 
    } 

Notez que "ResizeObject" fait référence à la fonction javascript de votre page Web.