サーバーにまだ存在しないページのプレビューをロードするために使用するアプリケーションに、WPF フレーム コントロールがあります。
存在せず、アプリ内にあるため、理想的にはハイパーリンクを無効にしてクリックできないようにする方法を見つける必要があります。ただし、新しいウィンドウに強制的にロードして、アプリに表示されないようにすることは、許容できる回避策です。
残念ながら、この場合、HTML をいじることはできません。
舞台裏の IE を考えると、これは可能ですか?
System.Windows.Control.WebBrowser を使用し、"Navigated" イベントで、最初は true に設定されているグローバル bool 変数を false にします (ウィンドウの "loaded" イベントで)。
System.Windows.Controls.WebBrowser Navigating イベントで、この bool 変数を確認し、リンクを防止する場合は e.cancel を true に設定します。このグローバル bool 変数の値を true に変更してナビゲーションを有効にするために、他のコントロールを使用できます。
確かに、あなたがやろうとしていることを完全には理解していませんがe.Handled = true;
、正しいイベントを設定することで、ユーザーが WPF でコントロールをクリックする機能を無効にしています。
マウスダウンしてみてください。
private void ContentControl_MouseDown(object sender, System.Windows.Input.MouseButtonEventArgs e)
{
e.Handled = true;
}
イベントをフックしてFrame::Navigating
、NavigatingCancelEventArgs::Cancel
プロパティを に設定するだけでよいはずですtrue
。