0
点赞
收藏
分享

微信扫一扫

嵌入式Linux和stm32区别? 之间有什么关系吗?

以前干嘛去了 2023-11-08 阅读 13
wpfexcel

比如只有行的界面

在这里插入图片描述

<Window x:Class="GenerateTokenApp.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:GenerateTokenApp"
        mc:Ignorable="d"
        Title="Generate Token App" Height="450" Width="800" Closed="Window_Closed">
    <Grid>
        <Grid.RowDefinitions>
            <RowDefinition Height="Auto" />
            <RowDefinition Height="*" />
        </Grid.RowDefinitions>
        <Button Grid.Row="0" x:Name="SelectFileButton" Content="Select File" Margin="10,10,10,0" Height="100" Click="SelectFileButton_Click" FontSize="36"/>
        <Button x:Name="GenerateTokenButton" Content="Generate Token" HorizontalAlignment="Left" Margin="10,50,0,0" VerticalAlignment="Top" Width="200" Click="GenerateTokenButton_Click" Visibility="Collapsed"/>
        <TextBox Grid.Row="1" x:Name="LogTextBox" Margin="10" TextWrapping="Wrap" />
    </Grid>
</Window>

行或列占的比例

        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="120*"/>
            <ColumnDefinition Width="167*"/>
            <ColumnDefinition Width="448*"/>
            <ColumnDefinition Width="65*"/>
        </Grid.ColumnDefinitions>

Width 属性的值在 WPF 中决定了一个元素在水平方向上的大小。Auto* 是两种常见的设置方式,它们有不同的含义:

  1. Width="Auto":

    • 当一个元素的宽度设置为 “Auto” 时,它的宽度会自动调整以适应其内容的大小。
    • 元素会根据内部的内容或子元素来决定其宽度,以确保内容完全可见。
    • 这通常用于文本框、按钮等元素,以使它们的宽度适应其文本内容。
  2. Width="*":

    • 当一个元素的宽度设置为 “*” 时,它会占据剩余的可用空间。
    • 如果容器中有多个元素,其中一个设置了宽度为 “*”,其余的元素可以是 “Auto” 或具有固定宽度,它们将平均分配可用的空间。
    • 这通常用于在容器中进行比例布局,以使元素根据其 “Weight” 来分配可用的水平空间。

示例:

<Grid>
    <Grid.ColumnDefinitions>
        <ColumnDefinition Width="Auto" />  <!-- 宽度适应内容 -->
        <ColumnDefinition Width="*" />      <!-- 占据剩余空间 -->
        <ColumnDefinition Width="2*" />     <!-- 占据剩余空间的两倍 -->
    </Grid.ColumnDefinitions>
    
    <Button Grid.Column="0" Content="按钮1" />     <!-- 宽度适应内容 -->
    <Button Grid.Column="1" Content="按钮2" />     <!-- 占据剩余空间 -->
    <Button Grid.Column="2" Content="按钮3" />     <!-- 占据剩余空间的两倍 -->
</Grid>

在上述示例中,第一个按钮的宽度适应其内容,第二个按钮占据剩余的空间,而第三个按钮占据了剩余空间的两倍。这是使用 Auto* 来定义列的一个简单示例。

行或列占多个单元格,有点像excel里的合并单元格。

比如 从第0列起占4列

Grid.Row="3" Grid.Column="0" Grid.ColumnSpan="4"

如果你想要创建一个宽度为 120 个逻辑单位的列,并使其余的列平均分配剩余的空间,你可以这样做:

<Grid>
    <Grid.ColumnDefinitions>
        <ColumnDefinition Width="120"/>
        <ColumnDefinition Width="*"/>
        <ColumnDefinition Width="*"/>
    </Grid.ColumnDefinitions>
    
    <!-- 第一列宽度为 120 -->
    <Button Grid.Column="0" Content="按钮1" />
    
    <!-- 第二列和第三列平均分割剩余空间 -->
    <Button Grid.Column="1" Content="按钮2" />
    <Button Grid.Column="2" Content="按钮3" />
</Grid>

上述示例中,第一列的宽度是固定的 120 个逻辑单位,而第二列和第三列平均分配了剩余的可用空间。


举报

相关推荐

0 条评论