整个窗口上方的文字

时间:2014-05-27 11:58:45

标签: c# .net wpf xaml

我有一个带WPF的C#应用​​程序。 我想在我的整个主窗口上面写一个文字。它应该是这样的:

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

窗口应该保持交互,用户应该使用应用程序。所以文本只是窗口上的水印。

有谁知道我怎么能用xaml做到这一点?

2 个答案:

答案 0 :(得分:2)

只需将一个标签放在applicationWindow的顶部。然后设置IsHitTestVisible = False。这应该可以解决问题。当然你可以开始使用Adorners,但现在可能太多了......

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

答案 1 :(得分:0)

你走了,

添加这样的资源,

<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>