Место общения программистов C#
-
Anonymous
Почему в Avalonia DataGrid происходит переполнение стека?
Сообщение
Anonymous »
Следующий код вызывает исключение stackoverflow при попытке загрузить данные.
Код: Выделить всё
MainWindowViewModel.cs:
namespace SalesApp.ViewModels;
using System;
using System.Collections.ObjectModel;
using CommunityToolkit.Mvvm.ComponentModel;
using CommunityToolkit.Mvvm.Input;
public class SalesByDateDto
{
public DateTime Date { get; set; }
public int OrderCount { get; set; }
public decimal TotalRevenue { get; set; }
public int ItemsCount { get; set; }
}
public partial class MainWindowViewModel : ViewModelBase
{
[ObservableProperty]
private ObservableCollection dateSales = new();
public string Greeting { get; } = "Welcome to Avalonia!";
[RelayCommand]
private void LoadData()
{
// Simulate loading data
DateSales = new ObservableCollection
{
new SalesByDateDto { Date = DateTime.Today, OrderCount = 10, TotalRevenue = 1000m, ItemsCount = 50 },
new SalesByDateDto { Date = DateTime.Today.AddDays(-1), OrderCount = 8, TotalRevenue = 800m, ItemsCount = 40 },
new SalesByDateDto { Date = DateTime.Today.AddDays(-2), OrderCount = 12, TotalRevenue = 1200m, ItemsCount = 60 }
};
}
}
Как воспроизвести проблему
- Версия Avalonia — 11.3.12
- Операционная система — Ubuntu 24.04.4 LTS
Код: Выделить всё
dotnet new avalonia.mvvm -o SalesApp
cd SalesApp
dotnet package update
dotnet package add Avalonia.Controls.DataGrid
Затем замените файлы кодом и разметкой, показанными выше.
Подробнее здесь:
https://stackoverflow.com/questions/799 ... a-datagrid
1772655944
Anonymous
Следующий код вызывает исключение stackoverflow при попытке загрузить данные.
[code]MainWindow.axaml:
[/code]
[code]MainWindowViewModel.cs:
namespace SalesApp.ViewModels;
using System;
using System.Collections.ObjectModel;
using CommunityToolkit.Mvvm.ComponentModel;
using CommunityToolkit.Mvvm.Input;
public class SalesByDateDto
{
public DateTime Date { get; set; }
public int OrderCount { get; set; }
public decimal TotalRevenue { get; set; }
public int ItemsCount { get; set; }
}
public partial class MainWindowViewModel : ViewModelBase
{
[ObservableProperty]
private ObservableCollection dateSales = new();
public string Greeting { get; } = "Welcome to Avalonia!";
[RelayCommand]
private void LoadData()
{
// Simulate loading data
DateSales = new ObservableCollection
{
new SalesByDateDto { Date = DateTime.Today, OrderCount = 10, TotalRevenue = 1000m, ItemsCount = 50 },
new SalesByDateDto { Date = DateTime.Today.AddDays(-1), OrderCount = 8, TotalRevenue = 800m, ItemsCount = 40 },
new SalesByDateDto { Date = DateTime.Today.AddDays(-2), OrderCount = 12, TotalRevenue = 1200m, ItemsCount = 60 }
};
}
}
[/code]
[code]app.axmal:
[/code]
[b]Как воспроизвести проблему[/b]
[list]
[*]Версия Avalonia — 11.3.12
[*]Операционная система — Ubuntu 24.04.4 LTS
[/list]
[code]dotnet new avalonia.mvvm -o SalesApp
cd SalesApp
dotnet package update
dotnet package add Avalonia.Controls.DataGrid
[/code]
Затем замените файлы кодом и разметкой, показанными выше.
Подробнее здесь: [url]https://stackoverflow.com/questions/79901049/why-is-there-a-stackoverflow-in-avalonia-datagrid[/url]