由于我们开发过程中需求的不同,我们在使用WPF控件的方法也不一样,下面我们来讲一下ToolTip的使用,以为TextBox设置ToolTip为例。
最简单的使用方法如下:
<TextBox Height="40" Width="200" Text="TextBoxDemo" ToolTip="TextBoxDemo" />
使用效果:
接下来我们给ToolTip加一些style进行一些美化
<Style TargetType="ToolTip">
<Setter Property="Placement" Value="Top"></Setter>
<Setter Property="Width" Value="200"></Setter>
<Setter Property="HorizontalOffset" Value="-26"></Setter>
<Setter Property="VerticalOffset" Value="-7"></Setter>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate>
<Grid>
<StackPanel>
<Border CornerRadius="2" BorderBrush="#525457" BorderThickness="1" Background="#1d1f20" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Margin="0 0 1 -1">
<TextBlock Text="{TemplateBinding ContentControl.Content}" Foreground="#fafbfd" FontFamily="Microsoft YaHei" FontSize="14" LineHeight="20" Margin="6" TextWrapping="Wrap" MaxWidth="250"/>
</Border>
<Path HorizontalAlignment="Center" StrokeThickness="1" VerticalAlignment="Center" Stroke="#525457" Data="M 0 0 L 6 6 L 12 0 " Fill="#1d1f20"/>
</StackPanel>
<Path HorizontalAlignment="Center" StrokeThickness="1.5" VerticalAlignment="Top" Stroke="#1d1f20" Data="M 0 6 L 9.7 6" />
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
美化后的效果如下:
但是如果我们想要通过绑定的方式,实时改变ToolTip的内容,应该怎么做呢?
<TextBox Height="40" Width="200" Text="TextBoxDemo">
<TextBox.ToolTip>
<ToolTip Content="{Binding TextBoxName}"/>
</TextBox.ToolTip>
</TextBox>
这边的TextBoxName就可以通过后台定义get/set方法获取,然后通过propertyChanged进行参数绑定。