У меня есть кнопка WPF, которая в настоящее время выполняет две функции, которые я хотел бы добавить в шаблон MVVM.Если при нажатии выполняется условие, открывается контекстное меню, которое мы динамически создаем, в противном случае мы просто выполняем другую функцию.
private void Button_MouseDown(object sender, MouseButtonEventArgs e)
{
if (e.ChangedButton == MouseButton.Left)
{
if (MyTest())
{
Button b = sender as Button;
ContextMenu contextMenu = MyContextMenuBuilder();
contextMenu.PlacementTarget = b;
contextMenu.Placement = System.Windows.Controls.Primitives.PlacementMode.Bottom;
contextMenu.IsOpen = true;
}
else
{
MyOtherFunction();
}
}
}
Как мне MV-VM этот код, так как виртуальная машина не знает кнопки для размещения меню и самого меню для его открытия?