在没有调整大小和大小限制的情况下,为什么窗口会在输出中重新缩放/缩小?

时间:2019-05-28 15:25:53

标签: c# wpf

我只是新手,并且正在使用WPF C#。

我注意到该设计视图和有一些细微的差异。最引人注目的按钮。

设计视图:

enter image description here

输出#1:

enter image description here

输出#2:

enter image description here

即使最小和最大宽度和高度都设置为固定值,并且调整大小模式设置为NoResize,窗口/容器似乎仍在调整大小/收缩。

由于调整不太明显,我可以通过设置垂直和水平对齐方式轻松地处理一些控件,但是对于“添加”按钮,与假定的输出之间的区别是明显的。

我确实尝试设置按钮的最小尺寸,以使其不受大小调整的影响,并且边距仍然有空间,但是按钮仅正确地呈现了一部分。 (请参见输出1)

我唯一的折衷办法是将垂直和水平对齐方式设置为拉伸,并且不对按钮施加任何大小限制,但是按钮最终会从其原始大小缩小。 (请参见输出2)

这是窗口的XAML。

<Window x:Class="Game_Viewer.NewApp"
        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:Game_Viewer"
        mc:Ignorable="d"
        Title="Add New Program" Height="155" Width="250" ResizeMode="NoResize" Background="#FF515151" WindowStyle="ToolWindow" WindowStartupLocation="CenterScreen" MinHeight="155" MinWidth="250">
    <Grid Margin="0">
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="0*"/>
            <ColumnDefinition/>
        </Grid.ColumnDefinitions>
        <Grid.RowDefinitions>
            <RowDefinition/>
        </Grid.RowDefinitions>
        <Image x:Name="appicon_img" Margin="10,10,0,0" Source="Resources/menu_bg.png" Stretch="Fill" Height="35" VerticalAlignment="Top" HorizontalAlignment="Left" Width="35" Grid.ColumnSpan="2"/>
        <TextBox x:Name="apppath_txtbox" HorizontalAlignment="Left" Margin="10,55,0,0" Width="154" Foreground="White" Background="#FF6E6E6E" Text="Program Path" VerticalContentAlignment="Center" BorderBrush="#FF707070" MaxLines="1" Height="25" VerticalAlignment="Top" FontSize="10" Grid.ColumnSpan="2"/>
        <Button Content="Search" Margin="169,55,10,0" Click="BrowseApp_Click" Foreground="White" Background="#FF515151" FontWeight="Medium" Height="25" VerticalAlignment="Top" FontSize="10" Grid.ColumnSpan="2"/>
        <Button x:Name="add_btn" Content="Add Program" Margin="72,89,72,8" Foreground="White" Background="#FF515151" Click="AddProgram_Click" FontWeight="Medium" Grid.ColumnSpan="2" MinHeight="30" MinWidth="100"/>
        <TextBox x:Name="appname_txtbox" Margin="50,10,10,0" TextWrapping="WrapWithOverflow" Foreground="White" Text="Program Name" MaxLines="1" IsUndoEnabled="True" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" BorderBrush="#FF707070" FontWeight="Medium" Background="#FF6E6E6E" Height="35" VerticalAlignment="Top" Grid.ColumnSpan="2"/>
    </Grid>
</Window>

我想知道解决此类问题的方法或解决方法。

出现这个问题并不是真正的问题,因为它只是美学,但我至少会知道发生这种情况的原因。并且您能推荐我使用c#编写wpf的好教程吗。

提前感谢,祝您有美好的一天!

0 个答案:

没有答案