0

行がデータグリッドに追加されると、Silverlight 3 アプリケーションのサイズが自動的に変更されるようにしようとしています。この例を試してみまし たSystem.ExecutionEngineExceptionが、null の内部例外が発生します。これは Silverlight 2 のみを対象としていると思います。Silverlight 3 でこれを行う方法を教えてもらえますか?

これに関するヘルプは大歓迎です。

4

1 に答える 1

0

私はこれを次のように動作させました:

Silverlight オブジェクトを含むページに次の JavaScript を追加します。

 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」は Web ページの JavaScript 関数を指すことに注意してください。

于 2010-05-19T10:50:43.530 に答える