Reputation: 5442
I have a window that i have set ResizeMode=NoResize and got rid of all the title bar and buttons but the problem is when window is dragged to the top of the screen it maximizes and i am not able to stop that. Does any one faced this problem before where i have code for maximize and minimize the window to a certain width and height.
this is a sample code
<Window xmlns:my="clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls.Input.Toolkit"
x:Class="Custom_title_bar.Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Window1" WindowStyle="None" AllowsTransparency="True"
Background="Transparent" mc:Ignorable="d"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
ResizeMode="NoResize"
MinHeight="180" MinWidth="180"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
SizeToContent="WidthAndHeight" WindowStartupLocation="CenterScreen"
VerticalContentAlignment="Center" VerticalAlignment="Top" WindowState="Normal">
<Grid Name="Main" >
<Border Name="MainWindow" CornerRadius="1" Background="White"
BorderBrush="AliceBlue" MouseDown="move_window" >
<Grid>
<DockPanel>
<DockPanel DockPanel.Dock="Top" Height="26">
<Border CornerRadius="1">
<Border.Background>
<LinearGradientBrush>
<GradientStop Color="White" Offset="0.0"/>
<GradientStop Color="BurlyWood" Offset="0.25"/>
<GradientStop Color="Bisque" Offset="0.5"/>
</LinearGradientBrush>
</Border.Background>
<Grid>
<DockPanel>
<Image MouseDown="MINIMIZE"
Source="/Custom%20title%20bar;component/Images/minimize.png"
Grid.ColumnSpan="4" />
<Image MouseDown="MAX_RESTORE"
Source="/Custom%20title%20bar;component/Images/Restore.png"
Grid.ColumnSpan="4" />
<Image MouseDown="EXIT"
Source="/Custom%20title%20bar;component/Images/close.png" />
<TextBlock/>
</DockPanel>
</Grid>
</Border>
</DockPanel>
</DockPanel>
</Grid>
</Border>
</Grid>
Upvotes: 4
Views: 949
Reputation: 132548
Why don't you set your MaxHeight
/MaxWidth
properties?
Since your default size seems to be SizeToContent="WidthAndHeight"
, it might be best to set the MaxHeight
/MaxWidth
in the Loaded
event of your Window
this.MaxHeight = this.ActualHeight;
this.MaxWidth = this.ActualWidth;
Upvotes: 3