1

画像とボタンを含むスタックパネルがあります。ユーザーがstackPanelのボタンをクリックしたときにイベントを発生させたい。xamlの私のコードは

<StackPanel x:Uid="TemperatureMonitor" Orientation="Horizontal" HorizontalAlignment="Left" ToolTip="{DynamicResource InstrumentZweiMesswert}" Height="35">
     <i:Interaction.Triggers>
         <i:EventTrigger EventName="PreviewMouseLeftButtonDown">
             <ei:CallMethodAction TargetObject="{Binding}" MethodName="OnAddUserControl"/>
         </i:EventTrigger>
     </i:Interaction.Triggers>

     <Image Width="35" Height="35" x:Uid="Image_15" Source="/Resources\png\TemperatureMonitor.png"/>
     <Button x:Uid="TemperatureMonitor" Content="Temperatur Monitor" x:Name="TemperatureMonitor" IsEnabled="True" Width="135"/>  
 </StackPanel>

そして、私のviewModelのメソッドOnAddUserControlは

public void OnAddUserControl(object sender, RoutedEventArgs e)
{
    //some code             
}

問題は、OnAddUserControl に入らないことです。理由はありますか?

ユーザーがボタンを leftMouseClick にしたときに、このイベントを発生させたいと思います。理由はわかりませんが、RelayCommand も役に立たず、メソッド OnAddUserControl を起動しません。反復コードをボタンに移動すると、次のようになります。

<StackPanel Background="Black" x:Uid="TemperatureMonitor" Orientation="Horizontal" HorizontalAlignment="Left" ToolTip="{DynamicResource InstrumentZweiMesswert}" Height="35">
    <Image Width="35" Height="35" x:Uid="Image_15" Source="/Resources\png\TemperatureMonitor.PNG"/>
    <Button x:Uid="TemperatureMonitor" Content="Temperatur Monitor" x:Name="TemperatureMonitor" IsEnabled="True" Width="135" >
        <i:Interaction.Triggers>
            <i:EventTrigger EventName="PreviewMouseLeftButtonDown">
                <ei:CallMethodAction TargetObject="{Binding}" MethodName="OnAddUserControl"/>
            </i:EventTrigger>
        </i:Interaction.Triggers>    
    </Button>
</StackPanel>

「オブジェクト タイプ "DockSite" ではメソッド名 "OnAddUserControl" が見つかりません」というランタイム エラーが発生しました。アイデアや助けをいただければ幸いです

4

1 に答える 1