题
我一直在尝试获取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函数。
不隶属于 StackOverflow