Как сделать текстовое поле XAML растягивающимся и предотвратить его обрезку? - PullRequest
1 голос
/ 21 июня 2019

У меня есть следующий экран:

enter image description here

И у меня следующие проблемы:

  1. Я хочу, чтобы размер текстового поля «Анализ» соответствовал размеру окна, я сделал так, чтобы окна «Растягивались» как для горизонтального / вертикального, а также для всех родительских окон, но при увеличении размера окна оно не увеличивается ( перетаскивая правый нижний угол).

  2. Сводное текстовое поле обрезано справа, и у меня нет никаких отрицательных полей.

Как я могу исправить эти проблемы?

Код:

<Window x:Class="LAnalyzer.MainWindow"
        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:LAnalyzer"
        mc:Ignorable="d"
        Title="LAnalyzer" 
        Height="413" Width="729"
        HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
    <Grid Margin="4,4,4,4"
          HorizontalAlignment="Stretch" VerticalAlignment="Stretch"
          Width="auto" Height="auto">
        <StackPanel
            Orientation="Vertical"
                HorizontalAlignment="Stretch" VerticalAlignment="Stretch" 
                Margin="0, 0, 0, 0" 
                Width="auto" Height="auto">
            <Label x:Name="LaFile" 
                Content="Logical Action file (com/int/bin/CC_LA_YY.c)"
                HorizontalAlignment="Left" VerticalAlignment="Top" 
                Margin="0,0,0,0"
                Height="26"  Width="auto" />
            <TextBox x:Name="textBoxLaFile"
                    HorizontalAlignment="Left" VerticalAlignment="Top" 
                    Margin="4,4,4,4" 
                    Height="94" Width="auto" MinWidth="600"
                    TextWrapping="Wrap" 
                    AcceptsReturn="True" 
                    HorizontalScrollBarVisibility="Auto" 
                    VerticalScrollBarVisibility="Auto"/>
            <StackPanel 
                    Orientation="Horizontal" 
                    HorizontalAlignment="Stretch" VerticalAlignment="Stretch"
                    Margin="0,0,0,0" 
                    Width="auto" Height="auto">
                <Button x:Name="buttonAnalyze"
                    Content="Analyze" Click="ButtonAnalyze_Click"  
                    HorizontalAlignment="Left" VerticalAlignment="Stretch"
                    Margin="4, 4, 4, 4" 
                    Height="auto" MinHeight="100" Width="100"/>

                <StackPanel 
                    Orientation="Vertical" 
                    Width="auto" Height="auto">
                    <Label x:Name="labelAnalysis"
                        Content="Analysis"
                        HorizontalAlignment="Stretch" VerticalAlignment="Stretch"
                        Margin="4, 4, 4, 4" 
                        Height="26" Width="auto"/>
                    <TextBox x:Name="textBoxAnalysis" 
                        HorizontalAlignment="Stretch" VerticalAlignment="Stretch"
                        HorizontalContentAlignment="Stretch"
                        VerticalContentAlignment="Stretch"
                        Margin="4,4,4,4" 
                        Height="auto" MinHeight="200" Width="auto" MinWidth="400"
                        TextWrapping="Wrap" 
                        IsReadOnly="True" 
                        HorizontalScrollBarVisibility="Auto" 
                        VerticalScrollBarVisibility="Auto"/>
                </StackPanel>

                <StackPanel 
                    Orientation="Vertical" 
                    Margin="0,0,0,0"
                    HorizontalAlignment="Right" VerticalAlignment="Stretch"
                    Width="auto" MinWidth="200" Height="auto">

                    <Label x:Name="labelSummary"
                        Content="Summary"
                        Margin="4,4,4,4" 
                        VerticalAlignment="Top" HorizontalAlignment="Left"
                        Height="auto" Width="auto" />
                    <TextBox  x:Name="textBoxSummary"
                        HorizontalAlignment="Left" VerticalAlignment="Stretch"
                        TextWrapping="Wrap" 
                        Margin="4,4,4,0"
                        Width="auto" MinWidth="200" Height="auto" MinHeight="200"
                        FontFamily="Courier New"
                        VerticalScrollBarVisibility="Auto"/>
                </StackPanel>
            </StackPanel>
        </StackPanel>
    </Grid>
</Window>

1 Ответ

1 голос
/ 21 июня 2019

Для "растягивающего поведения" вам нужны сетки.

Я очистил ваш код.Скажите, работает ли он?

<Grid Margin="4,4,4,4">
        <Grid.RowDefinitions>
            <RowDefinition Height="Auto"/>
            <RowDefinition Height="*"/>
        </Grid.RowDefinitions>

        <StackPanel Grid.Row="0">
            <Label x:Name="LaFile" 
                   Content="Logical Action file (com/int/bin/CC_LA_YY.c)"
                   Height="26"/>
            <TextBox x:Name="textBoxLaFile"
                     Margin="4" 
                     HorizontalAlignment="Left"
                     VerticalAlignment="Top"
                     Height="94" MinWidth="600"
                     TextWrapping="Wrap" 
                     AcceptsReturn="True" 
                     HorizontalScrollBarVisibility="Auto" 
                     VerticalScrollBarVisibility="Auto"/>
        </StackPanel>

        <Grid Grid.Row="1">
            <Grid.ColumnDefinitions>
                <ColumnDefinition Width="auto"/>
                <ColumnDefinition Width="2*"/>
                <ColumnDefinition Width="*"/>
            </Grid.ColumnDefinitions>

                <Button x:Name="buttonAnalyze"
                        Content="Analyze" 
                        Margin="4" 
                        Click="ButtonAnalyze_Click"  
                        MinHeight="100" 
                        Width="100"/>

                <Grid Grid.Column="1">
                    <Grid.RowDefinitions>
                        <RowDefinition Height="Auto"/>
                        <RowDefinition Height="*"/>
                    </Grid.RowDefinitions>

                    <Label x:Name="labelAnalysis"
                           Content="Analysis"
                           Margin="4" 
                           Grid.Row="0"
                           Height="26"/>
                    <TextBox x:Name="textBoxAnalysis" 
                             Margin="4"
                             Grid.Row="1"
                             MinHeight="200"
                             MinWidth="400"
                             TextWrapping="Wrap" 
                             IsReadOnly="True" 
                             HorizontalScrollBarVisibility="Auto" 
                             VerticalScrollBarVisibility="Auto"/>
                </Grid>

                <Grid MinWidth="200"
                      Grid.Column="2">
                    <Grid.RowDefinitions>
                        <RowDefinition Height="Auto"/>
                        <RowDefinition Height="*"/>
                    </Grid.RowDefinitions>



                    <Label x:Name="labelSummary"
                           Content="Summary"
                             Grid.Row="0"
                           Margin="4"/>
                    <TextBox x:Name="textBoxSummary"
                             TextWrapping="Wrap" 
                             Margin="4,4,4,0" 
                             MinWidth="200" 
                             Grid.Row="1"
                             MinHeight="200"
                             FontFamily="Courier New"
                             VerticalScrollBarVisibility="Auto"/>
                </Grid>
        </Grid>
    </Grid>


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