Интересует, возможно ли заменить ((window.Content as Grid).Children[0] as Button).Click += OnClick; на что то, непосредственно в коде объявления кнопки
using System.Windows;
using System.Windows.Controls;
namespace SimpleGame
{
public class MainFrame : Application
{
protected override void OnStartup(StartupEventArgs e)
{
base.OnStartup(e);
Window window = new Window()
{
Title = "SimpleGame",
Width = 1024,
Height = 768,
Content = new Grid()
{
Tag = "grid",
Children =
{
new Button()
{
Tag = "StarGame",
Content = "Start Game",
VerticalAlignment = VerticalAlignment.Center,
HorizontalAlignment = HorizontalAlignment.Center
//например сюда что то вроде
// Click += OnClick не работает
}
}
}
};
((window.Content as Grid).Children[0] as Button).Click += OnClick;
window.Show();
}
void OnClick(object sender, RoutedEventArgs e)
{
MessageBox.Show("Test");
}
}
}
XAML не является обязательным для WPF- по рельсам тоже не обязательно ездить на поезде, можно пешком. Хотите поле игровое в MVVM - пожалуйста, вот еще, и на закуску. Я думаю, нет смысла пилить пример, разберетесь же с тем что есть? – aepot Aug 18 '21 at 12:59Buttonотдельно, какvar button = new Button(){...};и подпишитесь на что вам надоbutton.Click += OnClick;, ну а вChildrenзаносите ссылку на ранее созданный объект (Children = { button }). Но повторюсь - этому не место в WPF! – EvgeniyZ Aug 18 '21 at 13:08