newDemoAvaloniaVal/AvaloniaValidation/MainWindow.axaml.cs

68 lines
1.6 KiB
C#
Raw Normal View History

2025-01-28 19:01:04 +00:00
using System;
2025-01-22 13:30:15 +00:00
using System.Collections.Generic;
2025-01-28 19:01:04 +00:00
using System.Collections.ObjectModel;
using System.IO;
using System.Linq;
2025-01-22 13:30:15 +00:00
using Avalonia.Controls;
using Avalonia.Interactivity;
2025-01-28 19:01:04 +00:00
using Avalonia.Media.Imaging;
using AvaloniaValidation.Models;
2025-01-22 13:30:15 +00:00
namespace AvaloniaValidation;
public partial class MainWindow : Window
{
2025-01-28 19:01:04 +00:00
private ObservableCollection<EventPresenter> events = new ObservableCollection<EventPresenter>();
2025-01-22 13:30:15 +00:00
public MainWindow()
{
InitializeComponent();
2025-01-28 19:01:04 +00:00
using var context = new User1Context();
var dataSourceEvent = context.Events.Select(it => new EventPresenter
{
Sobitie = it.Sobitie,
Date = it.Date,
Days = it.Days,
City = it.City,
Photo = it.Photo
}).ToList();
foreach (var eventItem in dataSourceEvent)
{
events.Add(eventItem);
}
EventListBox.ItemsSource = events;
2025-01-22 13:30:15 +00:00
}
2025-01-28 19:01:04 +00:00
public class EventPresenter : Event
{
public Bitmap? Image
{
get
{
try
{
string path = Path.Combine(AppContext.BaseDirectory, Photo);
if (File.Exists(path))
{
return new Bitmap(path);
}
return null;
}
catch
{
return null;
}
}
}
}
private void Registration(object? sender, RoutedEventArgs e)
{
new Registration().ShowDialog(this);
}
2025-01-22 13:30:15 +00:00
}