Для создания кнопок на окне и установки их позиции в соответствии с позицией курсора можно использовать следующий подход:
1. Создайте элементы управления StackPanel и Button в XAML-разметке окна:
```csharp
<StackPanel x:Name="stackPanel" MouseDown="stackPanel_MouseDown">
</StackPanel>
```
2. Добавьте обработчик события MouseDown для StackPanel, чтобы обрабатывать нажатия мыши:
```csharp
private void stackPanel_MouseDown(object sender, MouseButtonEventArgs e)
{
// Получить позицию курсора относительно StackPanel
Point position = e.GetPosition(stackPanel);
// Создать новую кнопку
Button button = new Button();
// Установить надпись на кнопке с координатами ее левого верхнего угла
button.Content = $"Button ({position.X}, {position.Y})";
// Установить позицию кнопки
button.Margin = new Thickness(position.X, position.Y, 0, 0);
// Добавить кнопку в StackPanel
stackPanel.Children.Add(button);
}
```
Теперь, когда вы нажмете левую кнопку мыши в StackPanel, новая кнопка будет создана на месте щелчка мыши с пометкой о ее координатах.
Обратите внимание, что в данном примере используется координатная система StackPanel, поэтому если вы хотите использовать абсолютные координаты окна, вам придется параметризовать эту логику для работы с другими элементами управления.
Надеюсь, что это поможет вам разработать вашу программу. Если у вас возникнут еще вопросы, пожалуйста, сообщите.