WebView でイベントをバインドしたいのですが、例外があります:
タイプ ' ' の例外が
Windows.UI.Xaml.Markup.XamlParseException
VK.exe で発生しましたが、ユーザー コードでは処理されませんでしたWinRT 情報: タイプ ' ' のインスタンスをタイプ ' ' のコレクションに追加できませ
Win8nl.Behaviors.EventToCommandBehavior
んSystem.Collections.ObjectModel.ObservableCollection<WinRtBehaviors.Behavior>
ご存じのとおり、Windows SDKには System.Interaction.dll がありません。Web (Windows RT 用にコンパイル) または Blend フォルダーで検索しようとしましたが、見つかりませんでした。
ビヘイビアーを使用してビューモデルのコントロールと RelayCommands のイベントを接続できるようにするWin8nlを見つけたよりも。
それらは、ビュー用にロードされたイベントをバインドするのに役立ちます: コードは次のとおりです:
...
xmlns:WinRtBehaviors="using:WinRtBehaviors"
xmlns:Win8nl_Behavior="using:Win8nl.Behaviors"
DataContext="{Binding Login, Source={StaticResource Locator}}">
<WebView x:Name="webView"
Grid.Row="1"
Grid.Column="1"
HorizontalAlignment="Left"
VerticalAlignment="Top"
ScrollViewer.VerticalScrollBarVisibility="Hidden"
ScrollViewer.HorizontalScrollBarVisibility="Hidden"
Height="420" Width="530">
<WinRtBehaviors:Interaction.Behaviors>
<Win8nl_Behavior:EventToCommandBehavior Event="LoadCompleted"
Command="WebViewLoadedCommand" />
</WinRtBehaviors:Interaction.Behaviors>
</WebView>
ビューモデル:
public LoginViewModel(IDataService dataService)
{
WebViewLoadedCommand = new RelayCommand(() => {
var msg = new MessageDialog("Web View Loaded");
msg.ShowAsync();
});
}
public RelayCommand WebViewLoadedCommand { get; private set; }
また、WP7 と System.Interaction で行っていたように、NavigatedEventsArgs パラメーターを取得したい:
<i:Interaction.Triggers>
<i:EventTrigger EventName="Navigated">
<mvvm:EventToCommand Command="{Binding NavigatedCommand, Mode=OneWay}" PassEventArgsToCommand="True" />
</i:EventTrigger>
</i:Interaction.Triggers>
ありがとう!