我一直在尝试获取Silverlight 3应用程序,以自动调整行时,将行添加到DataGrids中。我试过了这个示例但是我只是得到一个 System.ExecutionEngineException 具有无效的内部例外。我认为这仅针对Silverlight 2。谁能告诉我如何在Silverlight 3中执行此操作?

对此的任何帮助将不胜感激。

有帮助吗?

解决方案

我可以处理以下工作:

使用您的Silverlight对象将以下JavaScript添加到页面上:

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

将以下内容添加到您的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 });
    }

请注意,“ resizeObject”是指网页上的JavaScript函数。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top