0

我的应用程序中有两个文本框,长度可变。一个在左边,另一个在右边。默认情况下,它们的宽度很小,为 30 像素。但是由于它们包含很多数字,所以左侧的文本框会移动右侧的文本框并放大窗口(当右侧的 textbw 包含太多数字时也是如此)。为了避免这种情况,我想稳定右边的文本框,即使它的宽度增加。

我尝试过使用列大小,但没有。

<Grid Grid.Row="2">
                            <Grid.ColumnDefinitions>
                                <ColumnDefinition Width="170" />
                                <ColumnDefinition Width="Auto" />
                                <ColumnDefinition Width="10" />
                                <ColumnDefinition Width="*" />                                    
                            </Grid.ColumnDefinitions>
                            <TextBox Grid.Column="1" MinWidth="30" Margin="0,0,0,0" Name="maxGmapWest" Text="{Binding Path=Options.MaxGmapWest, ElementName=Window, Mode=OneWay, Converter={StaticResource StringToDoubleConverter}}" PreviewTextInput="Tab1_PreviewTextInput" Width="auto" />
                            <TextBox Grid.Column="3" MinWidth="30" Margin="230,0,0,0" Name="maxGmapEast" Text="{Binding Path=Options.MaxGmapEast, ElementName=Window, Mode=OneWay, Converter={StaticResource StringToDoubleConverter}}" PreviewTextInput="Tab1_PreviewTextInput" Width="auto" HorizontalAlignment="Left" />
                        </Grid>
4

1 回答 1

0

尝试类似的标记

   <Grid>
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="*"/>
            <ColumnDefinition Width="*"/>
        </Grid.ColumnDefinitions>
        <ScrollViewer Grid.Column="0" Width="auto" MinWidth="50" VerticalScrollBarVisibility="Auto" Margin="0,0,0,0" HorizontalAlignment="Left" MaxHeight="40" >
            <TextBox  Name="maxGmapWest"  TextWrapping="Wrap"   />
        </ScrollViewer>
        <ScrollViewer Grid.Column="1" HorizontalAlignment="Right"  VerticalScrollBarVisibility="Auto"  MinWidth="50"  Margin="0,0,20,0" MaxHeight="40">
            <TextBox   Name="maxGmapEast"  TextWrapping="Wrap"   />
        </ScrollViewer>
    </Grid>

文本框的最大宽度=列的宽度,固定最大高度并使用 ScrollViewer 处理大文本

于 2012-10-20T09:36:54.467 回答