thoseの記事を使用してWebBrowserコントロールのAttachedPropertyを作成しました。したがって、 "BindableSource"をパブリックプロパティ "Path"にバインドできます。 1つの小さな欠点でうまくいきます。ページは、私は別のリンクに移動し、「WebBrowser.Source」プロパティが変更されたが、「WebBrowser.BindableSourceは」に変更されていないロードされると移動時のWebBrowserのAttachedPropertyの変更
Path = new Uri("http://microsoft.com");
: は私のViewModelコンストラクタでプロパティがに設定されています。プロパティは、これらの値を持っているので、「BindableSourcePropertyChangedが」と呼ばれていません
Path = new Uri("http://microsoft.com");
:私はもう一度設定ボタンをクリックしてください 。
私はそれを解決するためのアイディアを持っていましたが、パフォーマンスが低下するため、パスを別のURLに設定してから実際のURL(http://microsoft.com)に設定します。
Path = new Uri("http://google.com");
Path = new Uri("http://microsoft.com");
あなたは私にそれを解決する方法を教えてください。 ありがとうございました。
おかげメイト、あなたのソリューションは、エラーフリーで動作しますが、いくつかのページに、私はPOSTリクエストを使用しているので、私の問題を解決することはできません。 同じページに2回移動しているので、ナビゲートするとBindableSourceProppertyが変更され、Webブラウザは同じページに移動します。投稿リクエストを使用した場合は、問題が発生します。 しかし、場合によっては役立つことがあります。 – Tiho
実際、私はこの問題をP.S.に認めました。私はちょうど想像力をオンにし、この問題をyourelfで解決するように提案しました。ソリューションは明らかです:browser.SetValue(...)の前にBrowser_Navigatedハンドラの内部で、browser.SetValue(...)の後にフラグを設定して、即座にリセットする必要があります。次に、BindableSourcePropertyChangedハンドラでこのフラグが設定されている場合は、BindableSourcePropertyの変更をスキップする必要があります。適切な方法は、別の1つの添付プロパティを公開することですが、上記のサンプルでは、Tagプロパティを使用して予期した結果が得られます。 –
ありがとうございます。このソリューションは今日私を助けました。 –