2010-05-19 65 views
0

我一直在试图让Silverlight 3应用程序在将行添加到数据网格时自动调整大小。 我试过 this example 但我只是得到一个System.ExecutionEngineException与一个空的内部异常。我认为这只针对Silverlight 2。 谁能告诉我如何在Silverlight 3中做到这一点?自动调整Silverlight 3应用程序的大小

任何帮助,将不胜感激。

回答

0

我已经得到了这个工作如下:

下面的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功能。