using Jugenddienst_Stunden.ViewModels; namespace Jugenddienst_Stunden.Views; /// /// Code-Behind für die Stunden-Übersicht /// public partial class StundenPage : ContentPage { private int heightValue; /// /// CTOR /// public StundenPage() { InitializeComponent(); if (BindingContext is StundenViewModel vm) { vm.AlertEvent += Vm_AlertEvent; vm.InfoEvent += Vm_InfoEvent; } if (!CheckLogin()) { NavigateToTargetPage(); } //// Bildschirmhöhe abrufen //var screenHeight = DeviceDisplay.MainDisplayInfo.Height / DeviceDisplay.MainDisplayInfo.Density; //// Berechnen der gewünschten Höhe //var desiredHeight = screenHeight - 450; // Abzüglich der Stundenübersicht //stundeItems.HeightRequest = desiredHeight; #if ANDROID heightValue = 280; #elif IOS heightValue = 280; #elif WINDOWS heightValue = 320; #else heightValue = 300; #endif SizeChanged += OnPageSizeChanged; } private void Vm_AlertEvent(object? sender, string e) { DisplayAlert("Fehler:", e, "OK"); } private void Vm_InfoEvent(object? sender, string e) { DisplayAlert("Information:", e, "OK"); } /// /// Beim Laden der Seite den Titel setzen /// protected override void OnAppearing() { base.OnAppearing(); Title = Preferences.Default.Get("name", "Nicht") + " " + Preferences.Default.Get("surname", "eingeloggt"); } private bool CheckLogin() { return Preferences.Default.Get("apiKey", "") != ""; } private async void NavigateToTargetPage() { await Navigation.PushAsync(new LoginPage()); } private void OnPageSizeChanged(object sender, EventArgs e) { double windowHeight = this.Height; AdjustLayout(windowHeight); } private void AdjustLayout(double height) { // Passen Sie Ihre UI-Elemente basierend auf der Fensterhöhe an stundeItems.HeightRequest = height - heightValue; //Datepicker Height 50, Monatssummen Height 125, Titel + Navigation Height xyz } }