Я изучаю WPF в колледже в этом семестре, но есть еще некоторые вещи, которые я не совсем понимаю. У меня есть следующий код:Как я могу заставить этот CommandParameter работать?
<UserControl x:Class="Reversi.SquareControl"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
mc:Ignorable="d"
d:DesignHeight="48" d:DesignWidth="48">
<Button Command="{Binding Place}" CommandParameter="{Binding ????????}">
...
</Button>
и:
public partial class SquareControl : UserControl
{
public SquareControl(int x, int y)
{
InitializeComponent();
Coordinates = new Vector2D(x, y);
}
public Vector2D Coordinates
{
get { return (Vector2D) GetValue(CoordinateProperty); }
set { SetValue(CoordinateProperty, value); }
}
...
public static readonly DependencyProperty CoordinateProperty =
DependencyProperty.Register("Coordinates", typeof(Vector2D), typeof(SquareControl), new PropertyMetadata(new Vector2D(0, 0)));
}
Мой вопрос: что же я помещал в CommandParameter
связывание пройти Coordinates
к ICommand в моей ViewModel?
updated-
Если я поставил команду в элементе управления, то, как я должен получить доступ к методу из моей viewmodel insode команда? Должен ли я просто пройти по viewmodel к конструктору команды? – Exevan
Ну, вы создаете UserControl, поэтому обычно не используете виртуальную машину. С помощью пользовательского элемента управления вы содержите в нем все свойства и данные. – CoderForHire