【问题标题】:Cannot align textboxes inside grid properly among themselves无法正确对齐网格内的文本框
【发布时间】:2021-03-23 05:30:54
【问题描述】:

我有以下DataTemplate,其中内部是一个Grid,带有一个“TextBlock”和我想与中心对齐的TextBox

<DataTemplate x:Key="OneSettingsEntryTemplate" DataType="{x:Type templateHelper:InputText}">
    <Grid>
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="*" />
            <ColumnDefinition Width="*" />
        </Grid.ColumnDefinitions>
        <TextBlock Grid.Column="0"
                   Style="{StaticResource StandardTextBlocksStyle}"
                   Text="{Binding Text, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"/>
        <TextBox Grid.Column="1"
                 Style="{StaticResource DefaultTextBoxesStyle}"
                 Text="{Binding Content, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"/>
    </Grid>
</DataTemplate>

在我的UserControls 之一中,我在使用模板的地方有以下代码:

<StackPanel DataContext="{Binding ElementName=ControlForProjectSettings, Path=ViewModel}"
            HorizontalAlignment="Center">
    <TextBlock Style="{StaticResource HeadingTextBlocksStyle}" 
               Text="Project settings"/>
    <ListView Background="#DAE7F5"
              ItemsSource="{Binding ProjectSettingEntries}"
              ItemTemplate="{StaticResource OneSettingsEntryTemplate}">
    </ListView>
</StackPanel>

当我运行我的应用程序并显示一些项目时,最后一个项目的文本较长,因此 TextBox 会向右翻转。 Application Image

我尝试在 Grid 中使用 HorizontalAlignmentVerticalAlignment 属性,或者也使用 DockPanel 而不是 Grid 但找不到解决方案。有什么想法吗?

【问题讨论】:

标签: c# xaml textbox grid alignment


【解决方案1】:

感谢这个来源:WPF share column width between separate grids 我解决了我的问题。
我将IsSharedSizeScope 添加到我的Grid 并将SharedSizeGroup 属性添加到我的列。

    <Grid IsSharedSizeScope="True">
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="Auto" SharedSizeGroup="A"/>
            <ColumnDefinition Width="Auto" SharedSizeGroup="A"/>
        </Grid.ColumnDefinitions>

【讨论】:

    猜你喜欢
    • 2014-02-08
    • 2019-07-20
    • 2020-07-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多