Silverlight - 自动调整文本框大小以填充空白空间

发布于 2024-09-09 02:02:10 字数 758 浏览 2 评论 0原文

好吧,这就是我想做的。

我有一个可调整大小窗口,该窗口在同一行中按流动顺序有 3 个控件:textBlock、textBox 和按钮。

textBlock 和按钮具有动态文本。所以它们的大小取决于里面的文字。

现在我想做的是中间的文本框总是填充文本块和按钮之间的所有空白空间。

我该怎么做?

我尝试使用以下代码,但由于 1. 和 3. 列中的宽度固定,因此它不起作用。

<Grid Margin="0,0,5,0" >
    <Grid.ColumnDefinitions>
        <ColumnDefinition Width="40"/>
        <ColumnDefinition Width="*" />
        <ColumnDefinition Width="40"/> 
    </Grid.ColumnDefinitions>                                
    <TextBlock Grid.Column="0" HorizontalAlignment="Left" Text="Text1"/>
    <TextBox Grid.Column="1"/>
    <Button Grid.Column="2" Content="Button1" HorizontalAlignment="Center"/>
</Grid>

Ok this is what I wish to do.

I have a resizeable window which has 3 controls in same row in flowing order: textBlock, textBox and button.

textBlock and button have dynamic texts. So theirs size depends upon text inside.

Now what I wish to do is that textBox in the middle is always filling up all empty space between textBlock and button.

How do I do that?

I tried with the following code but it doesn't work because of fixed width in 1. and 3. column.

<Grid Margin="0,0,5,0" >
    <Grid.ColumnDefinitions>
        <ColumnDefinition Width="40"/>
        <ColumnDefinition Width="*" />
        <ColumnDefinition Width="40"/> 
    </Grid.ColumnDefinitions>                                
    <TextBlock Grid.Column="0" HorizontalAlignment="Left" Text="Text1"/>
    <TextBox Grid.Column="1"/>
    <Button Grid.Column="2" Content="Button1" HorizontalAlignment="Center"/>
</Grid>

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

哀由 2024-09-16 02:02:10

您可以使用 Auto 作为两个外部列宽度,而不是指定宽度

<Grid Margin="0,0,5,0" > 
    <Grid.ColumnDefinitions> 
        <ColumnDefinition Width="Auto" /> 
        <ColumnDefinition Width="*" /> 
        <ColumnDefinition Width="Auto" />  
    </Grid.ColumnDefinitions>                                 
    <TextBlock Grid.Column="0" Text="Text1" /> 
    <TextBox Grid.Column="1"/> 
    <Button Grid.Column="2" Content="Button1" /> 
</Grid>

您可能也不需要列中的 Horizo​​ntalAlignment

You can use Auto for the two outer column widths instead of specifying the width

<Grid Margin="0,0,5,0" > 
    <Grid.ColumnDefinitions> 
        <ColumnDefinition Width="Auto" /> 
        <ColumnDefinition Width="*" /> 
        <ColumnDefinition Width="Auto" />  
    </Grid.ColumnDefinitions>                                 
    <TextBlock Grid.Column="0" Text="Text1" /> 
    <TextBox Grid.Column="1"/> 
    <Button Grid.Column="2" Content="Button1" /> 
</Grid>

You probably don't need the HorizontalAlignment in the columns either

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文