Laden...

WPF Fenster Automatisch die Größe ändern

Erstellt von Mattes80 vor 3 Jahren Letzter Beitrag vor 3 Jahren 689 Views
M
Mattes80 Themenstarter:in
23 Beiträge seit 2020
vor 3 Jahren
WPF Fenster Automatisch die Größe ändern

Hallo

Ich möchte mein WPF Fenster so gestallten wie das Windows Tastleiste nur Oben.

Mein Window hat diese Einstellung

Title="MainWindow" Width="Auto" Height="5" WindowStyle="None" Top="0" HorizontalAlignment="Left" VerticalAlignment="Top">

Bei Width="Auto" wird aber leider nicht die Komplette Breite von Windows übernommen er nimmt immer nur 768px warum ist das so?

Wie kann man es machen wenn der Mauszeiger auf die 5px geht die Height automatisch auf 100 geht also Height="100" ?

Wenn der Mauszeiger wieder ausserhalb vom Fenster ist soll wieder Height="5" sein.

Wie kann man sowas lösen?

Gruß

Mattes

M
9 Beiträge seit 2005
vor 3 Jahren

Hallo Mattes80,

wenn ich dich richtig verstanden habe möchtest du das dein Fenster die Breite des gesamten Bildschirms einnimmt.
Das kannst du über mit einem Binding auf deinen Screen erreichen:
Width="{Binding SystemParameters.PrimaryScreenWidth}"
Wie es mit der Höhe im Window ist weiß ich jetzt nicht genau, aber ich würde es spontan versuchen über MouseEnter und MouseLeave zu steuern. Also dann im Code Behind wahrscheinlich.

Gruß
moquai86

Nur tote Fische schwimmen mit dem Strom

M
Mattes80 Themenstarter:in
23 Beiträge seit 2020
vor 3 Jahren

Hallo

Danke für deine Antwort das mit dem MouseEnter und MouseLeave funktioniert super.
nur das mit Breite des gesamten Bildschirms funktioniert nicht.

Ich habe es mit Width="{Binding SystemParameters.PrimaryScreenWidth}" und mit dem Width="{Binding ElementName=System.Windows.SystemParameters}" probiert. Beides gibt keine veränderung.


<Window x:Class="WPF_Width_Height.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        xmlns:local="clr-namespace:WPF_Width_Height"
        mc:Ignorable="d"
        Title="MainWindow" MouseLeave="Window_MouseLeave" MouseEnter="Window_MouseEnter" Width="{Binding ElementName=System.Windows.SystemParameters}" Height="80" WindowStyle="None" Top="0" HorizontalAlignment="Left" VerticalAlignment="Top" ResizeMode="NoResize" ShowInTaskbar="False">

M
Mattes80 Themenstarter:in
23 Beiträge seit 2020
vor 3 Jahren

Hallo

Danke für deine Antwort diese Code kann man sich alles sparren.

Ich hab die Lösung gefunden direkt in WPF mit dem

Width="{DynamicResource {x:Static SystemParameters.MaximumWindowTrackWidthKey}}"

funktioniert das super.

Danke diese Frage ist komplett gelöst.