Modifying points works

This commit is contained in:
retr0volkov
2025-07-02 16:01:42 +03:00 Unverified
parent 7beee75d14
commit 044372eada
29 changed files with 427 additions and 79 deletions
+19 -14
View File
@@ -1,40 +1,45 @@
using CommunityToolkit.Mvvm.ComponentModel;
namespace GazpromApp.ViewModels;
using GazpromApp.Messages;
using CommunityToolkit.Mvvm.Input;
using CommunityToolkit.Mvvm.Messaging;
using System.Collections.ObjectModel;
using System.Diagnostics;
using System.Threading.Tasks;
using GazpromApp.Models;
namespace GazpromApp.ViewModels;
public partial class MainWindowViewModel : ViewModelBase
{
public ObservableCollection<PointViewModel> Points { get; } = new ObservableCollection<PointViewModel>();
public ObservableCollection<PointViewModel> Points { get; } = [];
[RelayCommand]
private async Task AddPoint()
{
var point = await WeakReferenceMessenger.Default.Send(new NewPointMessage());
if (point != null)
Points.Add(point);
IsLineVisible = true;
IsLineVisible = Points.Count > 0;
}
[RelayCommand]
private async Task EditPoint(PointViewModel point)
{
PointViewModel p = await WeakReferenceMessenger.Default.Send(new EditPointMessage(point)) ?? point;
Points[Points.IndexOf(point)] = p;
}
[RelayCommand]
private void RemovePoint(PointViewModel point)
{
Points.Remove(point);
if (Points.Count == 0)
IsLineVisible = false;
IsLineVisible = Points.Count > 0;
}
[RelayCommand]
private void EditPoint(PointViewModel point)
{
Debug.WriteLine(point.Name);
}
// Visual properties
[ObservableProperty]
private bool _isLineVisible;
}