mrJ*_*ack 2 wpf binding c#-4.0
我在ViewModel中的代码:
public void Insert_Click(object sender, RoutedEventArgs e)
{
System.Windows.MessageBox.Show("Insert_Click");
}
Run Code Online (Sandbox Code Playgroud)
视图中的代码:
<Button Click="{Binding Insert_Click}" Background="Black" Height="56" Name="btnAdd" Width="57">
</Button>
Run Code Online (Sandbox Code Playgroud)
错误:
错误1单击="{Binding Insert_Click}"无效.'{Binding Insert_Click}'不是有效的事件处理程序方法名称.只有生成的或代码隐藏类上的实例方法才有效
请告诉我正确的代码
如果Binding从事件处理程序中删除语法,则事件挂接仅适用于控件/窗口后面的代码.对于MVVM,它有点不同.如果将处理程序移动到后面的代码但是我怀疑你想要使用MVVM,那么你可以使用它.
这里你真正需要的是使用命令模式
<Button Command="{Binding Insert}" Background="Black" Height="56" Name="btnAdd" Width="57"/>
Run Code Online (Sandbox Code Playgroud)
并查看模型
public ViewModel()
{
Insert = new RelayCommand(Insert_Click);
}
public ICommand Insert { get; private set; }
private void Insert_Click()
{
System.Windows.MessageBox.Show("Insert_Click");
}
Run Code Online (Sandbox Code Playgroud)
这是使用诸如MVVM light之类的框架
| 归档时间: |
|
| 查看次数: |
1022 次 |
| 最近记录: |