我正在使用MVVM爲大學開發我的第一個WPF應用程序。我無法得到這個特定的綁定工作,雖然我已經遵循以前使用的步驟已經成功。命令綁定不起作用
我有以下XAML片段:
<Button Command="{Binding GetTicketsCommand}" Canvas.Left="50" Canvas.Top="202" Content="Refresh List" Height="25" Width="137" />
視圖初始化虛擬機作爲這樣:
public JobListView()
{
InitializeComponent();
viewModel = new JobListViewModel(this);
this.DataContext = viewModel;
}
視圖模型具有按鈕結合稱爲GetTicketsCommand命令,但是當我點擊命令Execute或CanExecute方法的按鈕不會被調用。我創建的命令正在VM構造函數中實例化。
任何想法?
編輯:
命令類是這樣的:
public class GetTicketsCommand : ICommand
{
private readonly JobListViewModel viewModel;
public GetTicketsCommand(JobListViewModel viewModel)
{
this.viewModel = viewModel;
}
public bool CanExecute(object parameter)
{
return true;
}
public void Execute(object parameter)
{
viewModel.GetTickets();
}
public event EventHandler CanExecuteChanged
{
add { CommandManager.RequerySuggested += value; }
remove { CommandManager.RequerySuggested -= value; }
}
}
而在視圖模型我只是在構造函數創建一個實例:
public JobListViewModel()
{
GetTicketsCommand = new GetTicketsCommand(this);
dataAccess = new DataLayerClient();
}
我們可以看到您的視圖模型管理你的命令的代碼? – BoltClock 2012-03-11 10:56:01
您正在使用哪種MVVM工具包? – 2012-03-11 10:56:02
在運行時VS中的輸出窗口中是否存在任何綁定錯誤?你的視圖模型是怎樣的? – nemesv 2012-03-11 10:56:29