我有一個圖像和按鈕的堆疊面板。我想在用戶點擊stackPanel中的一個按鈕時觸發事件。我在XAML代碼是Leftmouseclick stackpanel
<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>
和方法OnAddUserControl在我的ViewModel是
public void OnAddUserControl(object sender, RoutedEventArgs e)
{
//some code
}
,我不進入OnAddUserControl的問題吧。任何想法爲什麼?
我想在用戶讓leftMouse點擊一個按鈕時觸發此事件。所以我不知道爲什麼,但RelayCommand也沒有幫助,並且不會觸發方法OnAddUserControl。當我搬到iteraction代碼到我的按鈕,它看起來像這樣:
<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’」中獲得。我將不勝感激任何想法或幫助
考慮使用Command或RelayCommand – David
爲什麼不使用簡單的按鈕單擊事件處理程序? – cvraman
嘗試給你的StackPanel背景'背景=「透明」'。 – LPL