brushes

WPF 动画实战 点击时显示圆圈淡出效果

和自甴很熟 提交于 2020-04-15 13:01:07
【推荐阅读】微服务还能火多久?>>> 本文告诉大家一个有趣的动画,在鼠标点击的时候,在点击所在的点显示一个圆圈,然后这个圆圈做动画变大,但是颜色变淡的效果。本文的控件可以让大家将对应的容器放在自己应用里面就能实现这个效果 这个效果特别简单,属于入门级的动画,代码也很少,请看效果 本文的控件只是一个简单的 Canvas 控件,可以将本文的这个控件替换为你自己需要的控件。或者复制本文的代码,放在你自己的项目里面,只需要让你的项目里面有一个 Canvas 同时这个 Canvas 能接收鼠标事件就能作出本文效果 先在界面放一个 Canvas 控件 上面代码有一个细节是 Background="Transparent" 默认的 Canvas 的背景是 null 也就是不接收命中测试,也就是设置 MouseDown 没有反映。什么是命中测试?就是点击的时候,看命中到哪个元素,如果容器没有设置背景,那么这个容器就不能接收命中测试,也就是点击的时候不会判断点击到这个容器 在后台代码添加鼠标点击的代码 如何在 WPF 中显示一个圆圈? 在 WPF 可以通过 Ellipse 控件显示椭圆,如果设置他的宽度和高度相同,那么就是一个圆,添加一个 Ellipse 的代码请看下面 var currentSize = 10; var ellipse = new Ellipse() { Width =

【WPF学习】第六十一章 组织模板资源

情到浓时终转凉″ 提交于 2020-04-09 04:02:44
原文: 【WPF学习】第六十一章 组织模板资源    为表达全国各族人民对抗击新冠肺炎疫情斗争牺牲烈士和逝世同胞的深切哀悼,国务院今天发布公告,决定2020年4月4日举行全国性哀悼活动。   当使用控件模板时,需要决定如何更广泛地共享模板,以及是否希望自动地或明确地位用模板。   第一个问题是关于希望在何处使用模板的问题。例如,是将它们限制在特定窗口中吗?大多数情况下,控件模板应用于多个窗口,甚至可能应用于整个应用程序。为避免多次定义模板,可在Application类的Resources集合中定义模板资源。   然而,为此需要考虑另一个事项。通常,控件模板在多个应用程序之间共享。单个应用程序很有可能使用单独开发的模板。然而,一个应用程序只能有一个App.xaml文件和一个Application.Resources集合。因此,在单独资源字典中定义资源是一个更好的主意。这样,可灵活地再特定窗口或在整个应用程序中使用资源。而且还可以结合使用样式,因为任何应用程序都可以包含多个资源字典。为在Visual Studio中添加资源字典,在Solution Explorer窗口中右击项目,选择Add|New Item菜单项,然后选择Resources Dictionary(WPF)模板。   在前面章节中介绍了资源字典,使用它们很容易,只需要为应用程序添加一个新的具有如下内容的XAML文件即可:

【WPF学习】第六十一章 组织模板资源

青春壹個敷衍的年華 提交于 2020-04-05 16:23:47
   为表达全国各族人民对抗击新冠肺炎疫情斗争牺牲烈士和逝世同胞的深切哀悼,国务院今天发布公告,决定2020年4月4日举行全国性哀悼活动。   当使用控件模板时,需要决定如何更广泛地共享模板,以及是否希望自动地或明确地位用模板。   第一个问题是关于希望在何处使用模板的问题。例如,是将它们限制在特定窗口中吗?大多数情况下,控件模板应用于多个窗口,甚至可能应用于整个应用程序。为避免多次定义模板,可在Application类的Resources集合中定义模板资源。   然而,为此需要考虑另一个事项。通常,控件模板在多个应用程序之间共享。单个应用程序很有可能使用单独开发的模板。然而,一个应用程序只能有一个App.xaml文件和一个Application.Resources集合。因此,在单独资源字典中定义资源是一个更好的主意。这样,可灵活地再特定窗口或在整个应用程序中使用资源。而且还可以结合使用样式,因为任何应用程序都可以包含多个资源字典。为在Visual Studio中添加资源字典,在Solution Explorer窗口中右击项目,选择Add|New Item菜单项,然后选择Resources Dictionary(WPF)模板。   在前面章节中介绍了资源字典,使用它们很容易,只需要为应用程序添加一个新的具有如下内容的XAML文件即可: < ResourceDictionary

【WPF学习】第六十一章 组织模板资源

怎甘沉沦 提交于 2020-04-05 15:11:39
   为表达全国各族人民对抗击新冠肺炎疫情斗争牺牲烈士和逝世同胞的深切哀悼,国务院今天发布公告,决定2020年4月4日举行全国性哀悼活动。   当使用控件模板时,需要决定如何更广泛地共享模板,以及是否希望自动地或明确地位用模板。   第一个问题是关于希望在何处使用模板的问题。例如,是将它们限制在特定窗口中吗?大多数情况下,控件模板应用于多个窗口,甚至可能应用于整个应用程序。为避免多次定义模板,可在Application类的Resources集合中定义模板资源。   然而,为此需要考虑另一个事项。通常,控件模板在多个应用程序之间共享。单个应用程序很有可能使用单独开发的模板。然而,一个应用程序只能有一个App.xaml文件和一个Application.Resources集合。因此,在单独资源字典中定义资源是一个更好的主意。这样,可灵活地再特定窗口或在整个应用程序中使用资源。而且还可以结合使用样式,因为任何应用程序都可以包含多个资源字典。为在Visual Studio中添加资源字典,在Solution Explorer窗口中右击项目,选择Add|New Item菜单项,然后选择Resources Dictionary(WPF)模板。   在前面章节中介绍了资源字典,使用它们很容易,只需要为应用程序添加一个新的具有如下内容的XAML文件即可: < ResourceDictionary

Setting borderbrush to LinearGradientBrush in WPF

会有一股神秘感。 提交于 2020-01-13 03:56:13
问题 I'm new to WPF and still having some basic problems. I have a control from devcomponents that defaults to a blue border. My textboxes etc. have a more grey colour. I want the devcomponents control to have the same border. I look in the properties of a TextBox and see that BorderBrush is set to "System.Windows.Media.LinearGradientBrush" yet I can't put - <WpfEditors:IntegerInput BorderBrush="System.Windows.Media.LinearGradientBrush"... In fact, I can't put - <TextBox BorderBrush="System

Animation change from LinearGradientBrush to SolidColorBrush

不想你离开。 提交于 2020-01-02 07:21:06
问题 Is it possible with an animation to change the Ellipse.Fill from a LinearGradientBrush to a SolidColorBrush or change the gradientStops within the LinearGradientBrush? 回答1: Maybe you should use two ellipses and dynamically change their opacity. 回答2: You can animate the individual gradient stops of a gradient brush (and by setting them to the same color, you'd get a 'solid' color) This is an example of animating the gradient set to the Panel.Background of some target: <Storyboard>

Brushes.White slows graphics demo down

最后都变了- 提交于 2020-01-02 01:55:44
问题 Below is a (very naive) implementation of Conway's Game of Life in WPF. It's just a demo... xaml: <Window x:Class="wpf_conway_life_2013_05_19.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="MainWindow" Height="500" Width="500"> <Grid> <Canvas Name="canvas" Width="auto" Height="auto" HorizontalAlignment="Stretch" VerticalAlignment="Stretch"> </Canvas> </Grid> </Window> code behind: using System; using

Linear Gradient Brush Fade WPF

为君一笑 提交于 2019-12-29 06:19:16
问题 I have a brush that colors the background of a header. I like the way the brush looks but would like it to fade to transparent in the bottom third. Any ideas how to do this? <LinearGradientBrush x:Key="HeaderBackgroundBrush" EndPoint=".5,1" StartPoint="1,0"> <GradientStop Color="#006699" Offset="1"/> <GradientStop Color="#80A8CC" Offset="0.5"/> </LinearGradientBrush> 回答1: I'm not sure you can do it by working only at the brush level, however you could apply an OpacityMask to your control:

Creating and using a new Brush or color using sliders and dependency properties in C#

孤人 提交于 2019-12-12 03:13:45
问题 I'm working on a project which is a basic WPF "Paint" app. I have three options, draw an Ellipse, draw a Line, or draw a 'shape' (a line where closed sections are filled in). These three options are represented with radio buttons. I have up to this part working. Here's an example screenshot: http://i.stack.imgur.com/naPyI.jpg Basically what I need to do now is, when the user changes the sliders for R, G, B, and A (opacity / alpha), a small preview area showing the new color should be updated,

Brush MVVM Binding does not give named color

喜你入骨 提交于 2019-12-11 05:47:09
问题 I have a MVVM binding for Border background where in I read Color names from a file in String format and convert them to Brush using the code: Brush b1 = new SolidColorBrush((Color)ColorConverter.ConvertFromString("Red"); myItem.Background = b1; Background is a property defined in ViewModel as: public Brush Background { get { return _background; } set { this._background = value; RaisePropertyChanged("Background"); } } And it is accessed in XAML as: <Border Background="{Binding Background}">