首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

win10 uwp 鼠标移动到图片上切换图片

如果只是在后台代码判断鼠标是否移动到图片上,修改图片,那么实在简单,但是如果后台代码写多了,就会如下面的注释说的一样。如果只是在 xaml 写所有代码能否在鼠标移动到图片上自动修改图片?...在 UWP 有一个好用的库 Behaviors 库支持绑定事件,于是在鼠标进入图片的时候触发动画修改图片,在鼠标在图片范围外的时候触发动画修改图片 这个问题是堆栈的小伙伴问的,我看到有小伙伴通过后台代码控制图片...,看起来代码一点都不好,我看到小伙伴发的注释,有一段代码很难维护,其实如果将本来 UI 做的代码都放在后台,那么这个代码会让开发者觉得不如删除代码自己写 ?...同时有 ControlStoryboardAction 可以用来播放动画 将 Image 图片放在一个 Border 控件,这样可以在 Border 控件里面写动画修改 Image 的内容 在鼠标没有移动到图片上的时候.../PernemtanowsearDeerawkurkosa 直接下载代码,选择 x86 就可以运行 现在修改图片在鼠标移动到图片上就显示图片1如果没有鼠标移动到图片上就显示原来图片的代码可以全部写在 xaml

98720

了解模板化控件(10):原则与技巧

而且先写完所有代码,再用Blend实现UI,会比在代码和UI间交错地工作更高效。 使用依赖属性:控件的使用者会认为所有控件的属性都是可以绑定的,除非有特殊理由不要破坏这个约定俗成的规则。...不要实施严格的模版约定:模版约定指TemplatePart和TemplateVisualState,应该尽可能减少约定,在没有遵循模版约定的任何一项时也不应该引发异常,要允许ControlTemplate...如果控件通过鼠标选取内容(通常会打开一个Popup),可以使用-Picker做后缀。 尽量不要用-Panel做后缀,通常只有继承Panel的才会用这种方式命名,如StackPanel。...一个完整的依赖属性定义可以有20行(属性标识符、属性包装器、PropertyChangedCallback等),而且其中一部分是静态的,另外一部分不是,在类中将一个依赖属性的所有部分放在一起,还是按静态...平时我看到很长的文章,都会“保存到Pocket”,然后就再也没读过。汲取了这个教训,这次的文章分成多篇,尽量每篇都控制在可以三五分钟内看完。

89330
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Silverlight实现类似Mac Dock特效

    首先,看一下最终的效果图。我采用的开发环境是Visual Studio 2010。 ?...其实,这里要点,主要有两个,一个是计算鼠标位置到每个图像子元素中心位置的函数,另一个是计算放大倍数,放大倍数是鼠标位置到到每个图像子元素中心位置的距离的,具体如下: 下面是计算标位置到每个图像子元素中心位置的距离二次函数...param> /// 感知长度,超过这个距离后放大倍数保持在1 /// 鼠标到目标...name="maxDistance">感知长度,超过这个距离后放大倍数保持在1 /// 鼠标到目标Item中心的距离.../" + i + ".png");                 silverDock.AddItem(item);             }         }     } } 有需要源码的同学可以从我的网盘下载

    60930

    WPF 开发

    本文:我遇到的WPF的坑 单例应用在多实例用户无法使用 如果使用NamedPipeServerStream、Mutex做单实例,需要传入字符串,这时如果传入一个固定的字符串,会在多用户的时候无法使用。...在构造函数传入Environment.UserName有关的字符串就可以在一个用户进行单例,其他用户打开是自己的软件。...原因: 如果在引用一个库,引用代码没有直接使用的程序集。使用的方法就是使用 xaml 或反射来使用。那么在生成,vs 不会把程序集放在输出文件夹。 问题: 反射报错,无法找到程序集。...那么在 Release 上为何还可以把程序集放在输出文件夹呢?因为我也不知道原因,如果你知道的话,那么请告诉我一下。...xaml 绑定索引空格 如果一个索引需要传入空格,那么在 xaml 使用下面代码是无法绑定 {Binding MyCollection[foo bar]} 需要使用下面代码 {Binding MyCollection

    1.3K10

    WPF 托盘显示 NotifyIcon WPF

    因为托盘是程序的托盘,不是窗口的,所以推荐代码是写在 App.xaml.cs 里面 先创建一个托盘的界面,界面在 App.xaml 创建 托盘是需要图标的,可以从 Iconfont-阿里巴巴矢量图标库...在托盘图标需要是 16x16 32位 的 ico 文件 将图片下载放在解决方案,修改为 Resource 就可以 ?...打开 App.xaml.cs 获取资源,资源只有在获取的时候才会创建,创建了 TaskbarIcon 就会在托盘显示 protected override void OnStartup...base.OnStartup(e); } private TaskbarIcon _taskbar; 运行代码可以看到图片显示图标,下面的图片是我的图标...默认的软件设置是关闭最后一个窗口的时候应用就关闭,通过设置 App.ShutdownMode 可以在调用退出才关闭,打开 App.xaml 添加代码 ShutdownMode="OnExplicitShutdown

    7.3K31

    Silverlight项目中自定义控件开发Style学习笔记

    这是一个典型的silverlight项目解决方案: 1.control是一个Silverlight类库,可以把项目中可重用的用户控件放在该项目中.(可以理解为UI层的细分) ?...接下来我们先新建一个自定义控件(本文示例中将创建一个用户留言的自定义控件) 先调整一下默认的命名空间(因为Control是Silverlight中的默认控件类,为了避免命名空间与类名重复,建议最好换一个默认命名空间...标签面板,在App.xaml上右击,选择“Link to Resource Ditionary”-->"Generic.xaml" ?...,好了,代码看懂了,运行一下你会遗憾的发现,鼠标移动到控件上时,并没有按你预期的那个边框变红?...换言之,状态没有发生变化(也称迁移),这也是跟css不一样的地方,css中a的伪类由浏览器自动监听鼠标动作进行切换,而在xaml的style中,对于自定义控件,必须手写代码进行切换 修改一下BBSComment.cs

    980100

    UWP WinUI 制作一个路径矢量图标按钮样式入门

    比如我希望鼠标移动到按钮上的时候,按钮可以变色,比如说我感觉上面的重复代码多了,即我有多个图标按钮都有大量相似的代码,能不能做一个样式实现这些功能?...当然是可以的啦 先在一个资源里面定义按钮的样式,资源可以放在自己的应用业务代码 xaml 文件里面,也可以单独做一个资源字典。本文为了简单,就放在 MainPage.xaml 里面了。...以上代码的 local: 的 local 表示的 xaml 命名空间,这是因为我将 ButtonHelper 放在和 MainPage 相同的命名空间上,于是就刚好就是 local 的值,如果大家放在其他命名空间...在鼠标移动到按钮上方,即 PointerOver 时,通过设置轮廓画刷或填充画刷即可修改按钮的图标颜色 期望在鼠标移动到按钮上方,即 PointerOver 时,设置轮廓画刷或填充画刷,需要配合 VisualStateManager.../windows.ui.xaml.visualstate 了解基础用法之后,咱就可以继续在 ButtonHelper 里面定义鼠标移动到按钮上的边框轮廓颜色画刷附加属性,如下面代码 public class

    11210

    WPF 鼠标光标大全

    在 WPF 中,可以通过 Cursors 静态类里面的各个预定义属性来设置移入到某个元素时,鼠标光标的外观样式。...今天小伙伴问我哪个是鼠标移动控件的鼠标外观属性,在看到 Cursors 静态类里面那么多属性时,我也不知道用哪个好。...于是我就写了一个叫鼠标光标大全的应用,可以让大家快速知道有哪些可以用的光标 以下是我的应用界面 鼠标移动到不同的属性上,即可修改当前的鼠标外观 这个应用我在 github 和 gitee 上完全开源...在 WPF 中,可以在不同的元素上,给各个元素设置自己光标,如果没有设置,那将会使用元素的上一层容器的鼠标光标属性 <Border Margin="10,10,10,10" Height...HorizontalAlignment="Center" VerticalAlignment="Center" /> 以上的代码是放在

    2.4K30

    WPF 使用 Microsoft.Toolkit.Wpf.UI.Controls 的 InkCanvas 时加上背景色和按钮方法

    但是在 WPF 里面 HOST 了 UWP 的控件的方式,相当于将 UWP 作为一个窗口嵌入到 WPF 应用里面,这就意味着在 UWP 控件所在的范围,不能使用 WPF 的渲染,在此范围里面的元素都被...InkCanvas 控件添加背景色的方法上,在新建的 UWP 控件项目里面,添加一个自定义的控件,如 CustomInkControl.xaml 控件 在这个控件里面的 XAML 添加如下代码 在 InkCanvas_OnLoaded 设置支持鼠标 private void InkCanvas_OnLoaded(object sender, RoutedEventArgs e...以上的代码放在 github 和 gitee 欢迎访问 可以通过如下方式获取本文的源代码,先创建一个空文件夹,接着使用命令行 cd 命令进入此空文件夹,在命令行里面输入以下代码,即可获取到本文的代码...如果你想持续阅读我的最新博客,请点击 RSS 订阅,推荐使用RSS Stalker订阅博客,或者前往 CSDN 关注我的主页 本作品采用 知识共享署名-非商业性使用-相同方式共享

    2.2K20

    (01).NET MAUI实战 建项

    在正在运行的应用中,多次按 “单击我” 按钮,并观察按钮单击次数的计数递增: (3)项目结构解读 依赖 打开MAUI项目结构红的“依赖”时,能看到4个平台的引用,安卓、苹果、windows、mac。...Resources 这个文件夹看字面意思非常明显我就不逐个讲解了,这个点在对于新手开发的话。无疑也是制定了一些编码规范,对于的资源存放在对应的文件夹中集中管理。...xaml app.xaml , 这里就是设置MAUI默认启动的窗体以及其它操作,后续的文章中将会讲解这里的用法。...MainPage.xaml 就是类似于wpf的mainwindo了,编写窗体代码,布局控件。...后续文章中将会告诉大家在如何通过命令编译制定平台的版本。这里我用windows平台举例是可以直接看到可执行文件的。 当我们F5运行过MAUI之后也可以在“win”的启动菜单中看到启动快捷方式。

    1.1K10

    WPF 按钮 Button 的 IsEnabled 属性对 WindowChrome 的 IsHitTestVisibleInChrome 的影响

    本文来告诉大家按钮 Button 的 IsEnabled 属性对 WindowChrome 的 IsHitTestVisibleInChrome 的影响 在 WPF 中的默认交互是点击标题栏的时候,如果是双击标题栏...而如果在标题栏放一个按钮,此时按钮默认是没有收到点击的,详细请看 WPF 非客户区的触摸和鼠标点击响应 如果想要让按钮能收到点击,需要使用 WPF 非客户区的触摸和鼠标点击响应 的方法,让 WPF 的按钮加上...WindowChrome.IsHitTestVisibleInChrome 属性 此时点击按钮的时候,如果是在标题栏的地方,是让按钮收到点击。...此时在相同的容器内的其他元素,不会再被路由 本文代码放在github欢迎小伙伴访问 ---- 本文会经常更新,请阅读原文: https://blog.lindexi.com/post/...如果你想持续阅读我的最新博客,请点击 RSS 订阅,推荐使用RSS Stalker订阅博客,或者前往 CSDN 关注我的主页 本作品采用 知识共享署名-非商业性使用-相同方式共享

    1.6K30

    WPF依赖属性(wpf 依赖属性)

    大家好,又见面了,我是你们的朋友全栈君。 一、什么是依赖属性 依赖属性就是一种自己可以没有值,并且可以通过绑定从其他数据源获取值。依赖属性可支持WPF中的样式设置、数据绑定、继承、动画及默认值。...通过下面的示例来演示属性变更通知 示例:当鼠标移动到Button按钮上面时,文字的前景色变为红色,离开时变为默认颜色黑色,采用传统方式和依赖属性两种方式实现: (1)、使用传统方式实现,在Button按钮上定义...MouseEnter和MouseLeave两个事件,分别处理鼠标移动到按钮上面和离开,XAML界面代码: 1 <Window x:Class="WpfDemo.MainWindow" 2...1、在当前项目里面添加一个WPF版的用户控件,命名为“MyDependencyProperty”,在MyDependencyProperty.xaml.cs文件里面自定义一个依赖属性: 1 using... 10 11 3、在MainWindow.xaml里面引用新创建的用户控件,并添加一个TextBox,用于输入颜色值,并将自定义的依赖属性

    2.2K20

    了解模板化控件(5):VisualState

    功能需求 使用TemplatePart实现上篇文章的两个需求(Header为空时隐藏HeaderContentPresenter,鼠标没有放在控件上时HeaderContentPresent半透明),虽然功能已经实现...大部分的开发者都是对C#熟悉,对XAML陌生,很容易就选择尽量使用C#实现全部功能,将所有功能集中在同一个地方并用熟悉的语言处理,当然也有这样做的优点,不过既然在用XAML平台,就应该尽可能利用XAML...在ContentView2中有两组VisualState: CommonStates: 默认是“Normal”,当鼠标进入控件时是“PointerOver”。...,在OnApplyTemplate、OnHeaderChanged及鼠标进入离开时使用VisualStateManager.GoToState(Control control, string stateName...1,满足了“当鼠标移动到控件控件上时,设置Header的Opacity=1”这个需求。

    52820

    理解及扩展Expander

    本文首先对代码和XAML做个详细了解。这部分完全是面向初学者的,希望初学者通过Expander的源码学会一个基本的模板化控件应该如何构造。...即使代码量不大,Expander还是将代码分别存放在几个partial class中,这样做的好处是让承载主要业务的文件(Expander.cs)结构更加清晰。...尤其是依赖属性,一个完整的依赖属性定义可以有20行(属性标识符、属性包装器、PropertyChangedCallback等),而且其中一部分是静态的,另外一部分不是,在类中将一个依赖属性的所有部分放在一起...PART_ExpanderToggleButton鼠标按下时Header和Content分裂的效果还挺奇怪的,这点在上一篇文章有提过( 浅谈按钮设计)。 ?...之所以不直接改变ContentPresenter的高度是不想改变它的内容高度。另外我也改变了PART_ExpanderToggleButton的动画效果,我有点讨厌鼠标按下时文字会变模糊这点。

    86920

    WPF 手绘对称图形控件

    本文来安利大家一个我刚做的控件,这个控件支持触摸下多指进行笔迹绘制,绘制过程中将会对称显示出水平和垂直翻转的笔迹。可以用来绘制对称图形。...我将这个控件在GitHub上完全开源,代码放在 https://github.com/lindexi/uwp 虽然这是放在 UWP 仓库的控件,但现在只支持 WPF 框架 下面来告诉大家如何使用这个控件...本文代码放在 github 欢迎小伙伴访问 制作方法 那么这个控件是如何制作的,在 WPF 里面如何进行多指的书写?...了解了这两个问题,就可以很简单制作这个控件 我有一篇博客,告诉大家如何在 WPF 中使用简单的代码制作一个支持多指笔迹的控件,请看 WPF 最简逻辑实现多指顺滑的笔迹书写 在 WPF 中实现翻转特别简单...有点坑,所以我更推荐你去抄抄我的代码哈

    89520

    WPF 使用 Microsoft.Toolkit.Wpf.UI.Controls 的 InkCanvas 做高性能笔迹应用

    因此咱将在后台代码的 InkCanvas_Loaded 设置让笔迹控件可以在鼠标下画出笔迹 private void InkCanvas_Loaded(object sender, RoutedEventArgs...这里 VisualStudio 将会自动建立启动入口的联系,咱只需要点一下鼠标即可哈 接下来是新建一个测试使用的证书,测试使用的证书用于辅助安装 msix 安装包文件 新建测试证书的方法是双击 Package.appxmanifest...不需要设置密码,点击确定即可 这样就相当于完全完成了一个最简单的应用了,我推荐大家先完成这个最简单的应用,然后再继续添加自己的功能哈 设置打包应用作为 VisualStudio 启动项目,接着按下 F5...更多请看 VisualStudio 快速设置启动项目 如果期望在服务器做自动打包,可以在命令行,进入打包应用的 csproj 所在文件夹,输入下面命令即可自动构建 msbuild -restore 通过以上命令即可构建出...更多请参阅旁加载安装部分的内容 如果做分发此应用的话,推荐使用 加强版在国内分发 UWP 应用正确方式 通过win32安装UWP应用 的方法进行分发,此时就不需要让用户去关注证书问题 以上的代码放在 github

    1.2K40

    使用 Uno Islands 在现有 WPF 里面嵌入 Uno 框架

    这是一个支持用 C#+XAML 实现跨平台的 UI 框架,直接对标就是 MAUI 框架。...说不定后续 UNO 还有被某软收购的可能 总的来说,我认为 UNO 还是比较能打的。而且更加有趣的是 UNO 和 MAUI 之间不是打架的关系,很多开发者都在这两个框架之间跑动。...同样的 bug 要修两次,那才有趣 至于好不好用,我推荐大家试试看咯 回到主题,在今年 9 月份新加入的 Uno Islands 技术,让我开始准备在实际的大应用上部分功能接入 Uno 框架。.../TestUnoIslands/TestUnoIslands 从我的测试代码仓库里面拷贝代码文件的方式可以快速拷贝出一个使用 Uno 框架的项目,这些代码逻辑和官方的例子 代码接近相同。...但我认为这个问题其实也不大,说不定我想不开,或者是某位大佬行行好,就帮他实现了一个可以作为元素插入的功能哈 本文的代码放在github 和 gitee 欢迎访问 可以通过如下方式获取本文的源代码,先创建一个空文件夹

    62830
    领券