4

我怎样才能得到如下图所示的包装板?两个按钮 < > 和文本块向左对齐,文本框向右对齐,当我调整窗口的宽度时,文本框自动换行。

4

1 回答 1

3

这是一种快速而肮脏的方法。

    <WrapPanel Orientation="Horizontal" SizeChanged="WrapPanel_SizeChanged">
        <TextBlock x:Name="DateTextBlock" TextWrapping="Wrap" MinWidth="280"><Run Text="July 03-09, 2011"/></TextBlock>
        <TextBox x:Name="SearchTextBox" Width="250"  HorizontalAlignment="Right" />
    </WrapPanel>

然后在您的 WrapPanel_SizeChanged 处理程序中,您只需使 DataTextBlock 尽可能宽 - 与面板一样宽减去搜索文本框的宽度。

    private void WrapPanel_SizeChanged(object sender, System.Windows.SizeChangedEventArgs e)
    {
        var panel = (WrapPanel)sender;

        var maxWidth = panel.ActualWidth - SearchTextBox.ActualWidth;
        DateTextBlock.Width = maxWidth;
    }
于 2011-07-09T11:24:20.813 回答