Как сделать обновление полилинии, когда связано с сбором в АвалонииC#

Место общения программистов C#
Ответить
Anonymous
 Как сделать обновление полилинии, когда связано с сбором в Авалонии

Сообщение Anonymous »

Я пытаюсь связать полилин с приложением ObservableCollection point s в приложении Avalonia mvvm, и я могу заставить его отобразить первоначальный сбор точек просто отлично, но когда коллекция обновляется, полиния не показывает никаких изменений. У меня есть TextBlock или другой элемент управления, который может отображать текст, но на самом деле он не обновляет полилинию. Итак, далее я попробовал метод WPF для реализации INOTIFYPROPERTYCHANGED

Код: Выделить всё

public class PCollection : INotifyPropertyChanged
{
public event PropertyChangedEventHandler? PropertyChanged;

public ObservableCollection
 Points { get; set; }

public PCollection()
{
Points = new(Database.GetPoints());
}

public void NotifyPropertyChanged(string info)
{
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(info));
}
}
< /code>
(от полилины, связанной с наблюдением,  не обновляется)

(Database.GetPoints()
возвращает ienumerable )

и уведомляя об изменениях, вызывая функцию экземпляра Pcollection NotifyPropertychange, но, опять же, это не влияет на полилин после того, как страница изначально загружается. > Canvasview.axaml Часть ViewModel в canvasviewmodel.cs

Код: Выделить всё

public class CanvasViewModel : ViewModelBase
{
public ObservableCollection Points { get; };

public CanvasViewModel()
{
Points = new(Database.GetPoints());
}

public void DrawLine()
{
System.Random rand = new();
Point p = new(rand.Next(101), rand.Next(101));
Points.Add(p);
this.RaisePropertyChanged(nameof(Points));

System.Diagnostics.Debug.WriteLine(p); // shows that the point is actually created and added to the collection
}
}
< /code>
(Database.GetPoints()
возвращает ienumerable )


Подробнее здесь: https://stackoverflow.com/questions/680 ... n-avalonia
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»