整个窗口上方的文字

本文关键字:文字 窗口 | 更新日期: 2023-09-27 18:05:25

我有一个c#应用程序与WPF。我希望在整个主窗口上方都有文字。它应该看起来像这样:

http://s2.postimg.org/uqad6sosp/Capture.png

窗口应该保持交互,用户应该与应用程序一起工作。所以文字只是窗口上的水印。

有没有人知道我怎么能做到这一点与xaml?

整个窗口上方的文字

在applicationWindow的顶部放置一个Label。然后设置IsHitTestVisible=False。这应该能奏效。当然,你可以开始使用Adorners,但现在可能太多了…

 <Grid>
        <Your Stuff here />
        <TextBlock Text="My Watermark" IsHitTestVisible="False" FontSize="45pt" VerticalAlignment="Center" HorizontalAlignment="Center" DoSomeRotation... />
    </Grid>

给你,

添加这样的资源,

<Window.Resources>
               <Style x:Key="MyStyle" TargetType="{x:Type TextBox}">
            <Setter Property="Template">
                <Setter.Value>
                    <ControlTemplate TargetType="{x:Type TextBox}">
                        <Grid>
                            <Border Background="White" BorderBrush="#FF7D8683" BorderThickness="1"/>
                            <ScrollViewer x:Name="scrollhost" Margin="5,0,0,0" VerticalAlignment="Center" />
                            <Label Margin="5,0,0,0" x:Name="lblwatermark" Content="{TemplateBinding Tag}" VerticalAlignment="Center"
                           Visibility="Collapsed" Foreground="Gray" FontFamily="Arial"/>
                        </Grid>
                        <ControlTemplate.Triggers>
                            <MultiTrigger>
                                <MultiTrigger.Conditions>
                                    <Condition Property="Text" Value=""/>
                                </MultiTrigger.Conditions>
                            <Setter Property="Visibility" TargetName="lblwatermark" Value="Visible"/>
                            </MultiTrigger>
                            <Trigger Property="IsEnabled" Value="False">
                                <Setter Property="Foreground" Value="DimGray"/>
                            </Trigger>
                        </ControlTemplate.Triggers>
                    </ControlTemplate>
                </Setter.Value>
            </Setter>
        </Style>
    </Window.Resources>

XAML:

     <Grid >
    <TextBox  Style="{StaticResource MyStyle}" Height="50" FontSize="43"  Tag="OFFLINE">
        <TextBox.LayoutTransform>
            <RotateTransform Angle="-43" />
        </TextBox.LayoutTransform>
    </TextBox>
    </Grid>