首页 > 其他分享 >美化一下WPF自带得ToolTip

美化一下WPF自带得ToolTip

时间:2024-04-16 10:46:34浏览次数:25  
标签:控件 里面 CornerToolTip 自定义 ToolTip WPF 自带 美化

对照一下原版和美化以后得版本

原版: ---------- 新版:

 

新增了 圆角阴影效果;

第一步:新建项,最下面有一个自定义控件,取名为CornerToolTip。

第二步:系统会创建一个CornerToolTip得类,默认继承自Control,我们把Control改成ToolTip:

第三步:系统生成CornerToolTip类得同时,还会生成一个Themes文件夹,里面会有一个Generic.xaml的资源字典,在这里面可以写自定义控件的样式,

CornerToolTip类里面的静态构造函数里面的下面的代码会去加载资源字典里面的控件对应的样式

DefaultStyleKeyProperty.OverrideMetadata(typeof(CornerToolTip), new FrameworkPropertyMetadata(typeof(CornerToolTip)));

第四步:

<Style TargetType="{x:Type local:CornerToolTip}">
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="{x:Type local:CornerToolTip}">
                    <Grid>
                        <Grid.ColumnDefinitions>
                            <ColumnDefinition Width="5"/>
                            <ColumnDefinition Width="*" MinWidth="100"/>
                            <ColumnDefinition Width="5"/>
                        </Grid.ColumnDefinitions>
                        <Grid.RowDefinitions>
                            <RowDefinition Height="5"/>
                            <RowDefinition Height="*" MinHeight="30"/>
                            <RowDefinition Height="5"/>
                        </Grid.RowDefinitions>
                        <Border BorderThickness="1" BorderBrush="#FF565353" Background="{StaticResource CornerToolTip.Background}"
                                CornerRadius="{TemplateBinding CornerRadius}"
                                Grid.Column="1" Grid.Row="1">
                            <Border.Effect>
                                <DropShadowEffect BlurRadius="8" Color="#FF4D4B4B" Direction="306" ShadowDepth="0" RenderingBias="Performance"/>
                            </Border.Effect>
                        </Border>
                        <ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center" TextElement.Foreground="Black"
                                          Grid.Column="1" Grid.Row="1" x:Name="cp1"/>
                    </Grid>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>

最后就可以使用ConerToolTip来替代原始得ToolTip了:

            <Button Content="MouseHoverHere" Height="30" Width="150">
                <Button.ToolTip>
                    <cc:CornerToolTip Content="what can i say" />
                </Button.ToolTip>
            </Button>

 

标签:控件,里面,CornerToolTip,自定义,ToolTip,WPF,自带,美化
From: https://www.cnblogs.com/lvpp13/p/18137613

相关文章

  • wpf datagrid,menuitem, style, export ,show in a another window,mvvm
    //xaml<Windowx:Class="WpfApp58.MainWindow"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"xmlns:d="http://schemas.mic......
  • WPF 在后台代码中选中DataGrid的多行
    1///<summary>2///设置datagrid选中多行3///</summary>4///<paramname="listIndex"></param>5privatevoidSetSelectMessageIndex(List<int>listIndex)6{7......
  • WPF ContextMenu MenuItem style based on
    <Windowx:Class="WpfApp58.MainWindow"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"xmlns:d="http://schemas.microsoft.......
  • WPF开发时候遇到的问题
    1.DataGrid下的DataGridTemplateColumn的ComboBox绑定问题最开始的形式<DataGridTemplateColumnHeader="截面名称"><DataGridTemplateColumn.CellTemplate><DataTemplate><ComboBoxHorizontalAlignment=&q......
  • el-table-column自定义实现el-tooltip效果
    说明使用el-table-column自定义某列内容为左侧展示商品图片,右侧展示商品标题以及id,商品标题超过两行显示省略号,并且鼠标移入在上方显示完整。界面展示template...<el-table-columnlabel="商品信息"prop="title"min-width="200"><template#default="scope"><div......
  • 浏览器 自带打印调用以及样式修改与调试
    1.代码<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metaname="viewport"content="width=device-width,initial-scale=1.0"><title>print</title></......
  • element表格自带sortable属性排序错乱问题
       参考:https://blog.csdn.net/qq_40004867/article/details/129835446?spm=1001.2101.3001.6650.1&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-1-129835446-blog-126339196.235%5Ev43%5Epc_blog_bottom_relevance_base4&dept......
  • WPF,Frame控件的一个BUG
    我使用WPF默认的frame<FrameStyle="{DynamicResourceFrameStyle1}"x:Name="frame"Height="80"NavigationUIVisibility="Visible"/>然后添加几次导航Task.Run(async()=>{this.Dispatcher.BeginInvoke(()=>this.frame.N......
  • C# 面试 wpf .net 面试准备
    杂项介绍下自己时间一分半以内提炼自身优点,优势、亮点、基本情况言简意赅、语言精炼,控制时间和应聘岗位相关的经历(和招聘要求相关)为什么能够胜任岗位为什么要应聘该岗位~求职动机不能只介绍学校和专业,注意:重点介绍满足岗位要求的三个优势和亮点。表现出对岗位的理解和......
  • WPF新建viewModel实例化成员的注意事项
    不要用表达式体去初始化一个用做数据源(比如ItemSource)的引用类型成员。比如这种publicList<MainWindowItem>Items=>newList<MainWindowItem>(){newMainWindowItem{title="项目管理",icon="\ue613",type=typeof(项目管理Control),group="内部管理"},new......