Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/316.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 设置网格列宽度=自动和最大宽度_C#_Wpf_Grid - Fatal编程技术网

C# 设置网格列宽度=自动和最大宽度

C# 设置网格列宽度=自动和最大宽度,c#,wpf,grid,C#,Wpf,Grid,是否可以将Gridcolumn设置为这样的行为。宽度为自动,但最大值为140。此列中有许多标签,内容根据用户语言的不同而变化。所以我想设置一个最大宽度。就像这样,它不起作用: <Grid.ColumnDefinitions> <ColumnDefinition Width="Auto" MaxWidth="140"/> <ColumnDefinition Width="*"/>

是否可以将Gridcolumn设置为这样的行为。宽度为自动,但最大值为140。此列中有许多标签,内容根据用户语言的不同而变化。所以我想设置一个最大宽度。就像这样,它不起作用:

<Grid.ColumnDefinitions>
                <ColumnDefinition Width="Auto" MaxWidth="140"/>
                <ColumnDefinition Width="*"/>
                <ColumnDefinition Width="Auto"/>
            </Grid.ColumnDefinitions>

它看起来像什么:

如您所见,文本框非常小


下面的代码在我的机器上运行,并告诉我它是否正确

 <Grid>
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="Auto" />
            <ColumnDefinition Width="Auto" />
        </Grid.ColumnDefinitions>
    <GroupBox Header="Einkauf" Height="310" Margin="0,0,5,0" Name="grpLieferadresse" Grid.Column="0" Width="350" KeyboardNavigation.TabNavigation="Local">
        <Grid>
            <Grid.RowDefinitions>
                <RowDefinition />
            </Grid.RowDefinitions>
            <Grid.ColumnDefinitions>
                <ColumnDefinition Width="Auto" MaxWidth="140"/>
                <ColumnDefinition Width="*"/>
                <ColumnDefinition Width="Auto"/>
            </Grid.ColumnDefinitions>
            <Label Grid.Column="0" Grid.Row="0" Content="Beschaffusdfsdfsdfsdfsdfsdfsdfsdfsdfsdfsdfsdfsdngsdauer" Name="label5" />
            <TextBox Grid.Column="1" Grid.Row="0" IsEnabled="False" Name="txtBeschaffungsdauer" Text="{Binding Path=LName1}" Margin="0,0,0,5" TabIndex="5" />
            <Label Grid.Column="2" Grid.Row="0" Content="Tage" Name="label10" />
        </Grid>
    </GroupBox>
    <GroupBox Header="Bankverbindung" Name="groupBox1" Grid.Column="1" KeyboardNavigation.TabNavigation="Local" Height="310">
        <Grid>
            <Grid.RowDefinitions>
                <RowDefinition Height="29"/>
                <RowDefinition Height="*"/>
            </Grid.RowDefinitions>

        </Grid>
    </GroupBox>
    </Grid>

你可以试着在网格上设置一个宽度,这个列应该在那里被切掉。如果我这样做,它总是保持在140。因此,如果没有一个标签的长度超过这个长度,那么总有一个空格。这就是为什么我想使用Auto。请解释一下你所做的有什么不对?好吧,如果我这样离开它,如果第一列中的a标签变得很大,第二列将缩小到你看不到任何东西的程度。如果我在第二列设置一个MinWidth,第三列将被挤出视图。听起来你的这段代码是对的,但不知怎的,一个单元格要求的是lotta宽度。。。你能分享第一列单元格内的内容吗?看起来是正确的。但我不能复制它。我复制了你的代码,但结果保持不变。你能告诉我你改变了什么吗?
 <Grid>
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="Auto" />
            <ColumnDefinition Width="Auto" />
        </Grid.ColumnDefinitions>
    <GroupBox Header="Einkauf" Height="310" Margin="0,0,5,0" Name="grpLieferadresse" Grid.Column="0" Width="350" KeyboardNavigation.TabNavigation="Local">
        <Grid>
            <Grid.RowDefinitions>
                <RowDefinition />
            </Grid.RowDefinitions>
            <Grid.ColumnDefinitions>
                <ColumnDefinition Width="Auto" MaxWidth="140"/>
                <ColumnDefinition Width="*"/>
                <ColumnDefinition Width="Auto"/>
            </Grid.ColumnDefinitions>
            <Label Grid.Column="0" Grid.Row="0" Content="Beschaffusdfsdfsdfsdfsdfsdfsdfsdfsdfsdfsdfsdfsdngsdauer" Name="label5" />
            <TextBox Grid.Column="1" Grid.Row="0" IsEnabled="False" Name="txtBeschaffungsdauer" Text="{Binding Path=LName1}" Margin="0,0,0,5" TabIndex="5" />
            <Label Grid.Column="2" Grid.Row="0" Content="Tage" Name="label10" />
        </Grid>
    </GroupBox>
    <GroupBox Header="Bankverbindung" Name="groupBox1" Grid.Column="1" KeyboardNavigation.TabNavigation="Local" Height="310">
        <Grid>
            <Grid.RowDefinitions>
                <RowDefinition Height="29"/>
                <RowDefinition Height="*"/>
            </Grid.RowDefinitions>

        </Grid>
    </GroupBox>
    </Grid>