Передо мной стоит задача написать приложение для построения графиков на Avalonia C# без использования пакетов NuGet, разработанных специально для построения графиков. Я понял, что нужно как-то использовать элемент управления Canvas и класс DrawingContext. Но неясно как создать объект класса DrawingContext и, что такое IDrawingContextImpl (этот интерфейс является параметром конструктора DrawingContext).
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
StackPanel s = this.FindControl<StackPanel>("StackPanel1");
Button draw = s.FindControl<Button>("Button1");
canvas1 = s.FindControl<Canvas>("Canvas1");
draw.Click += Draw_Click;
//drawingContext = new DrawingContext();
canvas1.DataContext = drawingContext;
}
Canvas canvas1;
DrawingContext drawingContext;
private void Draw_Click(object? sender, Avalonia.Interactivity.RoutedEventArgs e)
{
//drawingContext.DrawEllipse();
}
}
ProgressBar(что не очень оптимально, но для таких минимальных решений, почему и нет? Ну и обратите внимание как тот код был написан, я не писал UI в коде, весь UI находиться в XAML, ну а вы вон уже с ходу, пытаетесь работать с UI через код, что зачастую вовсе не требуется. Ну а вот например как рисовать разные объекты, как видите, опять не рисую в C#, голый XAML, а данные в C# классе. – EvgeniyZ Jan 24 '24 at 03:14