我有一个带WPF的C#应用程序。 我想在我的整个主窗口上面写一个文字。它应该是这样的:
http://s2.postimg.org/uqad6sosp/Capture.png
窗口应该保持交互,用户应该使用应用程序。所以文本只是窗口上的水印。
有谁知道我怎么能用xaml做到这一点?
答案 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>