3
我正在實施搜索文本框;你能幫我綁定到TextBox.Tag嗎?如何將wpf中的樣式綁定到標記?
風格
<Style x:Key="SearchTextBox" TargetType="{x:Type TextBox}">
<Style.Resources>
<VisualBrush x:Key="CueBannerBrush" AlignmentX="Left" AlignmentY="Center" Stretch="None">
<VisualBrush.Visual>
<Label Content="{Binding RelativeSource={RelativeSource Mode=Self}, Path=Tag}" Foreground="{StaticResource SearchTextBox.Foreground}" FontSize="{StaticResource SearchTextBox.FontSize}"/>
</VisualBrush.Visual>
</VisualBrush>
</Style.Resources>
<Setter Property="FontSize" Value="{StaticResource SearchTextBox.FontSize}" />
<Setter Property="Foreground" Value="{StaticResource SearchTextBox.TextForeground}" />
<Setter Property="MinWidth" Value="200" />
<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>
使用
<TextBox Style="{StaticResource SearchTextBox}" Tag="Search templates" />
我怎樣才能綁定工作?
謝謝你,比爾。我發現你的方法是創建模板... –
不客氣。正如塞繆爾傑克在我提供的鏈接中所說的,如果您在風格中使用資源,那麼它們只會被實例化一次。所以,如果你有多個文本框,那麼他們總是有相同的'提示'文本。 –
是的,我注意到了!我的第一個實現是通過附加屬性,它有默認文本!))))再次感謝你。 –