【问题标题】:XAML Vertically align only top stackpanelXAML 仅垂直对齐顶部堆栈面板
【发布时间】:2014-01-14 17:48:48
【问题描述】:

我有一个包含两个堆栈面板(主要的)的视图。最上面的是一个微调器和“请稍等……”,我需要垂直居中。当顶部消失时底部出现,我需要将其拉伸,以便内容显示在窗口顶部。

     <ScrollViewer VerticalScrollBarVisibility="Auto">
            <StackPanel HorizontalAlignment="Stretch" VerticalAlignment="Center">
                <local:BusyIndicator VerticalAlignment="Center" HorizontalAlignment="Center" Width="50" Height="50" Visibility="{Binding Path=IsBusy, Converter={StaticResource booleanToVisibilityConverter}}"/>
                <TextBlock  VerticalAlignment="Center" HorizontalAlignment="Center" Text="One Moment Please" Visibility="{Binding Path=IsBusy, Converter={StaticResource booleanToVisibilityConverter}}"/>
                <StackPanel HorizontalAlignment="Center" Visibility="{Binding Path=HasError, Converter={StaticResource booleanToVisibilityConverter}}">
                    <TextBlock
                    Visibility="{Binding Path=HasError, Converter={StaticResource booleanToVisibilityConverter}}"
                    Text="{Binding Path=ErrorMessage}" VerticalAlignment="Center" HorizontalAlignment="Center" FontSize="12" TextWrapping="Wrap"/>
                </StackPanel>
                <StackPanel VerticalAlignment="Stretch" Orientation="Vertical" Visibility="{Binding Path=IsBusy, Converter={StaticResource inverseBooleanToVisibilityConverter}}">
</Stackpanel>
</ScrollViewer>

不断发生的问题是底部堆栈面板垂直居中,内容没有移动到窗口顶部。

我很抱歉,但我无法显示实际视图 (NDA)。我正在尝试做什么(右图),正在发生什么(左图)。注意:一次只显示文本或微调器。我不是要对齐两者,只是在不显示文本时使微调器垂直居中。

【问题讨论】:

  • 改用GridDockPanel
  • 我不确定。我想看看你需要的截图和你目前拥有的截图
  • 我仍然不确定要问什么,您只是希望文本显示在顶部,并且微调器居中?不知道如何解释“我不是想将两者对齐,只是在文本显示时使微调器垂直居中。”
  • 一次只显示微调器或文本。它们目前被包裹在堆栈面板中。即使我将文本的垂直对齐方式设置为顶部或拉伸,问题也是垂直居中的。希望这更有意义。
  • 如果是这种情况并且无论如何它们都分开了,@HighCore 的第一条评论是正确的。我可以举个例子,但要点是他的。

标签: wpf xaml


【解决方案1】:

您的 booleanToVisibilityConverter 是否返回 Visibility.Collapsed 或 .Hidden 为 False?它应该返回 Collapsed 以便回收空间。

【讨论】:

  • BooleanToVisibilityConverter 返回 Visibility.Collapsed。
  • 内置的可以,是的,但这不在最初的 WPF 版本中。他没有说他是使用 .NET 提供的转换器还是手动创建的转换器。
  • 他在一条现已删除的评论中说这是内置版本
猜你喜欢
  • 1970-01-01
  • 2017-09-15
  • 2015-10-18
  • 1970-01-01
  • 2022-12-11
  • 1970-01-01
  • 2012-09-26
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多