【问题标题】:Put TextBlock on top of another TextBlock将 TextBlock 放在另一个 TextBlock 之上
【发布时间】:2013-03-29 20:57:12
【问题描述】:

我尝试实现一个TextBlock 出现在另一个TextBlock 之上的情况,使用Visibility 属性 - 但它还没有工作。

TextBlockDockPanel 内部:

<DockPanel Grid.Row="1" Margin="5">
    <TextBlock Text="Text1" Height="20" HorizontalAlignment="Right" DockPanel.Dock="Right">
        <TextBlock Text="Text2" Background="Aqua" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Visibility="{Binding IfDeviceSelected, NotifyOnSourceUpdated=True, Converter={StaticResource  ResourceKey=BoolToVisibilityConverter}}" />
    </TextBlock>

    <TextBlock Text="@Device Focus:" Height="20" HorizontalAlignment="Right" DockPanel.Dock="Right" />
</DockPanel>

【问题讨论】:

  • 我们能看到代码吗?以及会发生什么的图片?
  • DockPanel 不会将一个文本块堆叠在另一个文本块之上。也许你需要一个 Grid 来代替?

标签: wpf c#-4.0 visibility textblock dockpanel


【解决方案1】:

您需要使用Grid 对这些TextBlocks 进行分组,DockPanel/StackPanel 不允许重叠控件(没有可怕的边距等操作)

  <DockPanel Grid.Row="1" Margin="5" >
     <Grid DockPanel.Dock="Right" >
         <TextBlock Text="Text1" />
         <TextBlock Text="Text2" Background="Aqua" Visibility="{Binding IfDeviceSelected, NotifyOnSourceUpdated=True, Converter={StaticResource  ResourceKey=BoolToVisibilityConverter}}" />
     </Grid>
     <TextBlock Text="@Device Focus:" Height="20" HorizontalAlignment="Right" DockPanel.Dock="Right" />
  </DockPanel>

【讨论】:

    猜你喜欢
    • 2012-06-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多