锁定元素在右边

时间:2012-10-19 13:40:21

标签: wpf xaml

我的应用中有两个文本框,带有变量长度。一个在左边,另一个在右边。默认情况下,它们的宽度很小,为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>

1 个答案:

答案 0 :(得分: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>

textbox的maxwidth =列的宽度,固定的最大高度和使用ScrollViewer作为大文本