Вы можете использовать свойство Source
в PointerPressedEventArgs
(или любом другом RoutedEventArgs
), чтобы получить ссылку на Управление стрельбой.
let view (state: State) dispatch =
Canvas.create [
Canvas.background "white"
Canvas.onPointerPressed (fun event -> event.GetPosition (event.Source :?> IVisual) |> Click |> dispatch)
Canvas.children [
for point in state.coords do
yield Ellipse.create [
Ellipse.width 5.0
Ellipse.height 5.0
Ellipse.fill "red"
Ellipse.top (point.Y - 2.5)
Ellipse.left (point.X - 2.5)
]
]
]
Также обратите внимание, что вам нужно установить Background
Свойство Canvas
или вы не получите PointerPressed
событий.
Вам также необходимо открыть пространство имен Avalonia.Controls.Shapes
, если вы хотите использовать приведенный выше пример (из-за Ellipse
).