0
我有幾個文本框,並希望爲每個樣式設置一個水印(例如:一個文本框將包含文本'在此輸入名字',直到您開始輸入文字爲止。)如何綁定樣式的屬性?
通常我只是使用RelativeSource綁定,但我遇到了一個奇怪的錯誤,其中樣式內的標籤不會接受任何綁定,我扔在它。例如,下面的綁定工作,到處但標籤的內容:
{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type Window}}, Path=Title}
僅供參考這裏是我一起工作的代碼。
的TextBox的XAML:
<TextBox x:Name="textBox_test" Style="{StaticResource textBoxStyle_watermark}" ToolTip="Hello"
風格的XAML:
<Style x:Key="textBoxStyle_watermark" TargetType="TextBox" xmlns:sys="clr-namespace:System;assembly=mscorlib">
<Style.Resources>
<VisualBrush x:Key="CueBannerBrush" AlignmentX="Left" AlignmentY="Center" Stretch="None">
<VisualBrush.Visual>
<Label Padding="10,0,0,0" Content="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=ToolTip}" Foreground="Gray" />
</VisualBrush.Visual>
</VisualBrush>
</Style.Resources>
<Style.Triggers>
<Trigger Property="Text" Value="{x:Static sys:String.Empty}">
<Setter Property="Background" Value="{StaticResource CueBannerBrush}" />
</Trigger>
<Trigger Property="Text" Value="{x:Null}">
<Setter Property="Background" Value="{StaticResource CueBannerBrush}" />
</Trigger>
<Trigger Property="IsKeyboardFocused" Value="True">
<Setter Property="Background" Value="White" />
</Trigger>
</Style.Triggers>
</Style>
任何幫助,將不勝感激,謝謝。
感謝您告訴我有關ControlTemplate的信息!水印問題現在已解決,但我遇到了與選項卡控件有關的問題。儘管如此,我仍將其作爲一個不同的問題提交 – user3275129