我只是新手,并且正在使用WPF C#。
我注意到该设计视图和有一些细微的差异。最引人注目的按钮。
设计视图:
输出#1:
输出#2:
即使最小和最大宽度和高度都设置为固定值,并且调整大小模式设置为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的好教程吗。
提前感谢,祝您有美好的一天!