Почему окно перемасштабирует / сжимает вывод, когда нет ограничений по размеру и размеру? - PullRequest
1 голос
/ 28 мая 2019

Я просто новичок и бездельничаю с WPF C #.

Я заметил, что в дизайне представления и есть небольшие отличия.Наиболее заметно на кнопке.

Представление дизайна:

enter image description here

Выход №1:

enter image description here

Ouput # 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>

Я хотел бы узнать решение или обходной вариант для такого рода проблемы.

На самом деле проблема не в том, что это проблема, потому что она только эстетическая, но я бы по крайней мере знал причину, по которой это происходит.И не могли бы вы отослать меня к хорошим учебникам по wpf с использованием c #.

Заранее спасибо и хорошего дня!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...