WPF Window Width-Property kann nicht auf 1 gesetzt werden

  • WPF

Es gibt 1 Antwort in diesem Thema. Der letzte Beitrag () ist von Niko Ortner.

    WPF Window Width-Property kann nicht auf 1 gesetzt werden

    Das hatte ich schon mal mit Windows Forms: [Allgemein .Net] Minimalbreite von Forms (Borderstyle = None) ist 2 Pixel
    Die Breite eines WPF-Fensters kann nicht auf 1 gesetzt werden... Also genau genommen schon, denn wenn man diesen einfachen Code debuggt:

    VB.NET-Quellcode

    1. Class MainWindow
    2. Protected Overrides Sub OnMouseDown(e As System.Windows.Input.MouseButtonEventArgs)
    3. Me.Width = 1
    4. MyBase.OnMouseDown(e)
    5. End Sub
    6. End Class

    und bei Me.Width = 1 einen Haltepunkt setzt, wird man feststellen, dass sich Me.Width tatsächlich auf 1 ändert. Jedoch hat das keine Auswirkungen auf das Fenster. Es ist immer noch 2 Pixel breit:

    Den kleinen grünen Punkt daneben habe ich dazugezeichnet, damit man einen Vergleich hat. Er ist genau 1 Pixel groß.
    Das ist der XAML-Code:

    XML-Quellcode

    1. <Window
    2. x:Class="MainWindow"
    3. xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    4. xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    5. Title="MainWindow"
    6. MinWidth="1"
    7. MaxWidth="1"
    8. Width="1"
    9. Height="350"
    10. WindowStyle="None"
    11. ResizeMode="NoResize"
    12. Background="Red"
    13. Margin="0"
    14. Padding="0"
    15. BorderThickness="0"
    16. >
    17. <Grid>
    18. </Grid>
    19. </Window>

    BorderThickness, Margin und Padding sind nur meine Versuche, das hinzubringen, hat aber nichts genützt.
    WindowStyle und ResizeMode stimmen so. Das sorgt dafür, dass der Rahmen des Fensters ausgeblendet wird.

    Es ist auch nicht möglich, die SetWindowPos-API zu verwenden:

    VB.NET-Quellcode

    1. WinApi.SetWindowPos.SetWindowPos(
    2. New WindowInteropHelper(Me).Handle,
    3. WinApi.SetWindowPos.ZPosition.TotalFrontFixed,
    4. CInt(Me.Left), CInt(Me.Top), 1, CInt(Me.Height),
    5. WinApi.SetWindowPos.Flags.SWP_SHOWWINDOW)


    Alsoooo, ja. Wie kann ich das Fenster 1 Pixel breit machen?
    "Luckily luh... luckily it wasn't poi-"
    -- Brady in Wonderland, 23. Februar 2015, 1:56
    Desktop Pinner | ApplicationSettings | OnUtils

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Niko Ortner“ ()