首页 > 解决方案 > 在 WPF 中排列项目

问题描述

我有以下问题:

在 WPF 中排列项目 我的 TextBox 应该填满整个空间,但属性“VerticalAlignment="Stretch"" 不适合我。

这是我的代码:

<TextBox
x:Name="txt_in_ct_length_aisle"
Text="{Binding CtLengthAisle, UpdateSourceTrigger=PropertyChanged, 
      ValidatesOnDataErrors=True,NotifyOnValidationError=True}"
      Validation.Error="MainViewHasErrors"
      TextWrapping="Wrap" VerticalAlignment="Stretch" 
      KeyboardNavigation.TabIndex="0"/>
<Label x:Uid="LabelShowHint" Content="?" HorizontalAlignment="Right"/>

我应该如何正确设置属性?总而言之,我希望我的 TextBox 填充空间,直到“?” 在右侧。

你们中的任何人都可以帮忙吗?

谢谢!

标签: c#.netwpfxaml

解决方案


您可以尝试使用具有两个控件的网格,并使用 Columns 属性对其进行控制。

    <Grid>
    <Grid.ColumnDefinitions>
        <ColumnDefinition Width="*"/>
        <ColumnDefinition Width="Auto"/>
    </Grid.ColumnDefinitions>
    <TextBox Grid.Column="0" 
             x:Name="txt_in_ct_length_aisle"
             Text="{Binding CtLengthAisle, UpdateSourceTrigger=PropertyChanged, 
             ValidatesOnDataErrors=True,NotifyOnValidationError=True}"
             Validation.Error="MainViewHasErrors"
             TextWrapping="Wrap" VerticalAlignment="Stretch" 
             HorizontalAlignment="Stretch"
             KeyboardNavigation.TabIndex="0"/>
    <Label Grid.Column="1"
           x:Uid="LabelShowHint" Content="?" />
</Grid>

推荐阅读