C# 其他元素后面的Wpf文本框
我创建了一个消息栏,上面有一个动画文本, . 你可以在前景中看到文本“fly's”并隐藏占位符。但我需要在前景的占位符 我的第一个想法是将动画区域从C# 其他元素后面的Wpf文本框,c#,wpf,canvas,text,marquee,C#,Wpf,Canvas,Text,Marquee,我创建了一个消息栏,上面有一个动画文本, . 你可以在前景中看到文本“fly's”并隐藏占位符。但我需要在前景的占位符 我的第一个想法是将动画区域从 doubleAnimation.To = tbInfo.ActualWidth *-1; 到 但结果如下所示: 如何在前景中设置占位符,以便动画“飞”在其后面? 我的XAML代码 <Canvas x:Name="canMain" HorizontalAlignment="Stretch" VerticalAlignment="Cente
doubleAnimation.To = tbInfo.ActualWidth *-1;
到
但结果如下所示:
如何在前景中设置占位符,以便动画“飞”在其后面?
我的XAML代码
<Canvas x:Name="canMain" HorizontalAlignment="Stretch" VerticalAlignment="Center">
<Border x:Name="boLogo" Height="40" Background="Gray" Canvas.Left="0" Canvas.Top="-20">
<Button Content="Placeholder" Width="90" />
</Border>
<TextBlock x:Name="tbInfo" Visibility="Hidden" FontSize="32" FontWeight="Bold" Padding="5" HorizontalAlignment="Stretch" VerticalAlignment="Center"></TextBlock>
</Canvas>
尝试Grid.ZIndex:
<Grid x:Name="canMain" >
<Border x:Name="boLogo" Grid.ZIndex="2">
<Button Content="Placeholder" />
</Border>
<TextBlock x:Name="tbInfo" Grid.ZIndex="1"/>
</Grid>
作为最可见的层。使用面板。ZIndex:
<Canvas x:Name="canMain" >
<Border x:Name="boLogo" Panel.ZIndex="2">
<Button Content="Placeholder" Width="90" />
</Border>
<TextBlock x:Name="tbInfo" Panel.ZIndex="1"></TextBlock>
</Canvas>
我试着用一个网格和一块画布围起来。喜欢但它不会改变任何东西。您使用的是
doubleAnimation.To=tbInfo.ActualWidth*-1代码>对吗?还可以尝试更改元素的顺序。首先是文本块,然后是边框。是的。请参阅@O.DO的答案,Panel.ZIndex是一个不错的选择。
<Grid x:Name="canMain" >
<Border x:Name="boLogo" Grid.ZIndex="2">
<Button Content="Placeholder" />
</Border>
<TextBlock x:Name="tbInfo" Grid.ZIndex="1"/>
</Grid>
<Canvas x:Name="canMain" >
<Border x:Name="boLogo" Panel.ZIndex="2">
<Button Content="Placeholder" Width="90" />
</Border>
<TextBlock x:Name="tbInfo" Panel.ZIndex="1"></TextBlock>
</Canvas>