ビューの読み込みが完了したときにメソッドを実行しようとしています。コマンドをビューのLoaded
イベントにバインドしようとしましたが、実行できません。スローされる内部例外は
「「System.Windows.Data.Binding」に値を指定すると例外がスローされました。」行番号 '14'および行位置 '14'
<UserControl x:Class="Components.Map.MapView"
xmlns="http://schemas.Microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.Microsoft.com/winfx/2006/xaml"
xmlns:map="clr-namespace:Components.Map"
xmlns:controls="clr-namespace:Windows.Controls;Assembly=Windows.Controls"
xmlns:ValidationRules="clr-namespace:Windows.Controls.ValidationRules;Assembly=Windows.Controls"
xmlns:directGraphicsControl="clr-namespace:Windows.DirectGraphicsControl;Assembly=Windows.DirectGraphicsControl"
xmlns:colorBar="clr-namespace:Components.Common.ColorBar;Assembly=Components.Common"
xmlns:RefinedRibbonControls="clr-namespace:Components.Common.Controls.RefinedRibbonControls;Assembly=Components.Common"
xmlns:UserControls="clr-namespace:Components.Common.UserControls;Assembly=Components.Common"
xmlns:map1="clr-namespace:Models.Map;Assembly=Models.Map"
xmlns:utilities="clr-namespace:Windows.Utilities;Assembly=Windows.Utilities"
xmlns:system="clr-namespace:System;Assembly=mscorlib"
Loaded="{Binding Path=MapControlViewModel.MapLoadedCommand}">
ビューのLoaded
イベントにバインドして、ビューの読み込みが完了した後で何かを実行できるようにするにはどうすればよいですか?
コマンドをLoaded
イベントにバインドする場合は、「System.Windows.Interactivity」アセンブリを使用する必要があります。
<UserControl x:Class="Components.Map.MapView"
xmlns="http://schemas.Microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.Microsoft.com/winfx/2006/xaml"
xmlns:map="clr-namespace:Components.Map"
xmlns:controls="clr-namespace:Windows.Controls;Assembly=Windows.Controls"
xmlns:ValidationRules="clr-namespace:Windows.Controls.ValidationRules;Assembly=Windows.Controls"
xmlns:directGraphicsControl="clr-namespace:Windows.DirectGraphicsControl;Assembly=Windows.DirectGraphicsControl"
xmlns:colorBar="clr-namespace:Components.Common.ColorBar;Assembly=Components.Common"
xmlns:RefinedRibbonControls="clr-namespace:Components.Common.Controls.RefinedRibbonControls;Assembly=Components.Common"
xmlns:UserControls="clr-namespace:Components.Common.UserControls;Assembly=Components.Common"
xmlns:map1="clr-namespace:Models.Map;Assembly=Models.Map"
xmlns:utilities="clr-namespace:Windows.Utilities;Assembly=Windows.Utilities"
xmlns:system="clr-namespace:System;Assembly=mscorlib"
xmlns:i="clr-namespace:System.Windows.Interactivity;Assembly=System.Windows.Interactivity">
<i:Interaction.Triggers>
<i:EventTrigger EventName="Loaded">
<i:InvokeCommandAction Command="{Binding LoadedCommand}" />
</i:EventTrigger>
</i:Interaction.Triggers>
</UserControl>
System.Windows.Interactivity.dllは、Microsoft Expression Blend Software Development Kit(SDK)( download link )に含まれています。