我目前正在学习WPF和C#编程,但在理解绑定等方面遇到了困难。
我卡在将“绑定”函数或命令绑定到我的网格中的XAML对象上。
<Image x:Name="BlkRook1" Source="../Data/BlkRook.png" Grid.Row="{Binding Path=ChessPieces[0].Row}" Grid.Column="{Binding Path=ChessPieces[0].Column}" MouseDown="{Binding Path=ChessPieces[0].Move()}"/>
这段代码 MouseDown="{Binding Path=ChessPieces[0].Move()}"
没有起作用,但显示了我想要实现的内容。
在我的视图模型中,我定义了一个列表,并用不同的棋子实例填充了它,然后计划将每个图像绑定到该列表中的一个实例。
我正在尝试绑定MouseDown函数,目前看来,如果我将函数放在Mainwindow.xaml.cs文件中,它可以访问它。但我希望它能够从模型中访问。
Mainwindow.xaml.cs
namespace TheGame.Views
{
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
this.DataContext = new ChessBoardViewModel();
}
}
}
目前BlkRook对象已经定义了行、列、名称和一个名为move的函数。
错误信息:
“'TheGame.Views.MainWindow'未包含'Move'的定义,也未找到接受类型为'TheGame.Views.MainWindow'的第一个参数的扩展方法'Move'(是否缺少using指令或程序集引用?)”
那么,如何将在Model对象中定义的函数绑定到XAML对象中?
谢谢
/ Martin