2013-07-06 109 views
1

我用MVVM,鉴于旁边代码:Windows Phone中不起作用自来水事件图像8

<Image Source="Content/img/heart_gray.png" Width="25" Height="25" Margin="0,0,5,0" HorizontalAlignment="Right" Visibility="{Binding LikeVisability}"> 
               <i:Interaction.Triggers> 
                <i:EventTrigger EventName="Tap"> 
                 <cmd:EventToCommand Command="{Binding SetLikeCommand}" /> 
                </i:EventTrigger> 
               </i:Interaction.Triggers> 
              </Image> 

在视图模型:

私人RelayCommand setLike;

 public ICommand SetLikeCommand 
    { 
     get 
     { 
      return this.setLike ?? (this.setLike = new RelayCommand(this.SetLike)); 
     } 
    } 


    private void SetLike() 
    { 
     var t = "fsdf"; 
    } 

当我在方法SetLike()中放置断点时,程序没有停止当我点击图像。也许我在视图中做了什么错误,绑定事件在哪里?请帮忙!

+0

将断点的制定者,调用它呢? –

+0

为什么不使用一个只显示图像的按钮(无边框)? –

+0

我把断点放在setter上,但它不起作用。 – Pisha91

回答

1

你所显示的代码没有什么根本性的错误,它只是不足以显示你的问题。

下不工作:

XAML:

<Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0"> 
    <Image Source="Assets/ApplicationIcon.png" Width="25" Height="25" Margin="0,0,5,0" 
      HorizontalAlignment="Right" Visibility="{Binding LikeVisability}"> 
     <i:Interaction.Triggers> 
      <i:EventTrigger EventName="Tap"> 
       <cmd:EventToCommand Command="{Binding SetLikeCommand}" /> 
      </i:EventTrigger> 
     </i:Interaction.Triggers> 
    </Image> 
</Grid> 

后面的代码:

using System.Windows; 
using System.Windows.Input; 
using GalaSoft.MvvmLight.Command; 
using Microsoft.Phone.Controls; 

public partial class View : PhoneApplicationPage 
{ 
    public View() 
    { 
     InitializeComponent(); 

     this.DataContext = new MyViewModel(); 
    } 
} 

public class MyViewModel 
{ 
    private ICommand setLike; 

    public ICommand SetLikeCommand 
    { 
     get 
     { 
      return this.setLike ?? (this.setLike = new RelayCommand(this.SetLike)); 
     } 
    } 

    public Visibility LikeVisibility 
    { 
     get 
     { 
      return Visibility.Visible; 
     } 
    } 

    private void SetLike() 
    { 
     var t = "fsdf"; 
    } 
} 
相关问题