设置文本框的起始高度,但在窗口展开时调整大小

时间:2017-06-22 16:16:02

标签: c# wpf textbox

我的当前代码存在问题。 我有这个:



 <Grid>
            <Grid.ColumnDefinitions>
                <ColumnDefinition Width="1*" />
                <ColumnDefinition Width="3*" />
            </Grid.ColumnDefinitions>
            <Grid.RowDefinitions>
                <RowDefinition Height="Auto" />
                <RowDefinition Height="Auto" />
                <RowDefinition Height="*" />
            </Grid.RowDefinitions>
            <!-- Text editor -->
            <StackPanel>
                <TextBox Margin="3" MaxHeight="500" Padding="2" x:Name="TextEditor" VerticalScrollBarVisibility="Visible" AcceptsReturn="True" AcceptsTab="True" KeyDown="TextEditor_KeyDown" />

                <!-- Tools buttons -->
                <StackPanel Orientation="Horizontal">

                    <!-- Save button -->
                    <Button Width="27" Height="27" HorizontalAlignment="Left" x:Name="button_textEditor_save" Style="{DynamicResource NoChromeButton}" Click="button_textEditor_save_Click" >
                        <Image Source="Assets/Images/save_file.png"/>
                    </Button>

                    <!-- Open button -->
                    <Button Width="32" Height="32" HorizontalAlignment="Left" x:Name="button_textEditor_open" Style="{DynamicResource NoChromeButton}" Click="button_textEditor_save_Click" >
                        <Image Source="Assets/Images/open_file.png"/>
                    </Button>

                    <!-- Save location -->

                </StackPanel>
            </StackPanel>
        </Grid>
&#13;
&#13;
&#13;

使用此代码,我得到了这个窗口:

Not resized window

当我最大化窗口时,我得到了这个: Window maximized

所以,现在,我的问题是,我如何设置文本框的初始大小(我知道高度参数但有了这个,当我最大化窗口时控件不会扩展),我在工作这个尺寸的窗口:650x900。如果我使用网格来设置文本框(现在是StackPanel),我必须为网格的行设置特定的大小。我希望我已经正确解释了。感谢

2 个答案:

答案 0 :(得分:0)

在网格中放置任何控件并定义行和列时, 默认情况下,control具有Grid.Row = 0和Grid.Column = 0值。在您的代码中,第一个StakePlane还具有默认的行和列值0.如果您注释掉列定义并尝试,那么您会发现文本框的大小调整了窗口被调整大小

答案 1 :(得分:0)

我的要求不明确。但正如你所说,你想要文本编辑器类型的东西,你可以尝试这样:

 <Grid>
        <!--<Grid.ColumnDefinitions>
            <ColumnDefinition Width="1*" />
            <ColumnDefinition Width="3*" />
        </Grid.ColumnDefinitions>-->
        <Grid.RowDefinitions>
            <RowDefinition  />
            <RowDefinition Height="Auto" />
            <!--<RowDefinition Height="*" />-->
        </Grid.RowDefinitions>
        <!-- Text editor -->
        <!--<StackPanel>-->
            <TextBox  Grid.Row="0" Margin="3" MaxHeight="500" Padding="2" x:Name="TextEditor" VerticalScrollBarVisibility="Visible" AcceptsReturn="True" AcceptsTab="True" KeyDown="TextEditor_KeyDown" />

            <!-- Tools buttons -->
            <StackPanel Orientation="Horizontal" Grid.Row="1">

                <!-- Save button -->
                <Button Width="27" Height="27" HorizontalAlignment="Left" x:Name="button_textEditor_save" Style="{DynamicResource NoChromeButton}" Click="button_textEditor_save_Click" >
                    <Image Source="Assets/Images/save_file.png"/>
                </Button>

                <!-- Open button -->
                <Button Width="32" Height="32" HorizontalAlignment="Left" x:Name="button_textEditor_open" Style="{DynamicResource NoChromeButton}" Click="button_textEditor_save_Click" >
                    <Image Source="Assets/Images/open_file.png"/>
                </Button>

                <!-- Save location -->

            </StackPanel>
        <!--</StackPanel>-->
    </Grid>

您还可以查看这些链接 - MSDNwpftutorial