2017-02-01 7 views
0

Webブラウザコントロールを使用しているC#/ WPFアプリケーションがあります。 Dispathcerを使用して、ビューモデル内からDocumentPathの値を設定しようとしています。 WebBrowserコントロールがドキュメントを完全に読み込むまで、UIが応答しなくなります。 この問題を解決するにはどうすればよいですか? お知らせください。 XAML:WPF appとディスパッチャ:UIを反応させる問題

<Window 
     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"  
    xmlns:viewModel="clr-namespace:MVMs.ViewModel" 
> 
<Window.DataContext> 
     <viewModel:MyViewModel/> 
    </Window.DataContext> 


<WebBrowser x:Name="MyWebBrowser1" 
      myVM:WebBrowserExtensions.BindableSource="{Binding DocumentPath}" 
VerticalAlignment="Stretch" Margin="0,0,0,-11"> 

のViewModel:

public MyViewModel() 
{ 
System.Windows.Application.Current.Dispatcher.BeginInvoke(
DispatcherPriority.Background, 
        new Action(DocumentPath="myDocPath")); 

} 
+0

MVVMをやっているのですが、なぜバックグラウンドスレッドを使用する必要がありますか?プロパティを使って設定し、raiseプロパティを変更しました – Tyress

答えて

0

はこれを試してください:あなたが実装する方法がわからない場合は

private string _DocumentPath; 
public string DocumentPath 
{ 
    get { return _DocumentPath; } 
    set 
    { 
     _DocumentPath = value; 
     OnPropertyChanged("DocumentPath"); 
    } 
} 

public MyViewModel() 
{ 
    DocumentPath = "myDocPath"; 
} 

OnPropertyChangedをhereを見

は、ここに私のコードです。

関連する問題