WPF
文章平均质量分 80
pandawangyt
其实不知道说些什么
展开
-
WPF:鼠标拖曳、拖动控件
效果布局<Grid Grid.Row="0" Name="gridChart" Margin="50,20" SizeChanged="gridChart_SizeChanged"> <Canvas Name="backCanvas" Background="Red"> <Canvas Name="foreCanvas" Background="AliceBlue"/> </Canvas></Grid>说原创 2021-09-02 17:11:47 · 4065 阅读 · 0 评论 -
WPF:Loading等待动画、加载动画
类型1效果思路:1、用8个浅灰色的圆当背景2、4个渐变深灰色的圆,一直改变其旋转角度,表示Loading的过程首先,定位下图圆的位置(红色线为辅助线),剩余的直接旋转角度就行。画布长宽为100<Canvas Width="100" Height="100">圆的半径是25,设计其基础的样式。因为剩余的圆是通过该圆旋转得到的,旋转的中心是上图中几条红色直线相交的那个点,不难算出RenderTransformOrigin为0.5,2,这个很关键。<Style x:K原创 2021-08-21 15:51:20 · 14872 阅读 · 10 评论 -
WPF:使用【Arc】制作环形加载动画和环形进度条
安装Blend包首先引入Blend包,【工具】-【NuGet包管理器】-【管理解决方案的NuGet程序包】,在【浏览】页面搜索关键词【Blend】,安装引入Blend包在MainWindow.xaml的Window标签里引入xmlns:ed="http://schemas.microsoft.com/expression/2010/drawing"环形加载等待动画<ed:Arc Width="300" Height="300" StartAngle="0原创 2021-08-20 17:08:22 · 2934 阅读 · 0 评论 -
WPF:使用EventHandler事件实现窗口间的传值
1、测试方法主窗口,有一个按钮和内容输入框,点击按钮,将打开一个新的窗口,同时将输入框的内容传到新窗口。2、实现方法使用Messenger在两个窗口的ViewModel之间传输。3、主窗口View<StackPanel Orientation="Vertical" HorizontalAlignment="Center" VerticalAlignment="Center"> <TextBox Width="200" Height="50"原创 2021-05-27 15:26:23 · 2022 阅读 · 0 评论 -
WPF:自定义IP地址输入框的实现
先看效果图:仿照电脑以太网属性那里的IP地址输入框设计的实现的主要功能有:1、只能输入数字、Delete、Enter、Back、Tab、左右方向键,且数字在0-255之间。2、输入数字最多三位,超过三位自动跳转到下一个输入框;如果输入框中有数字,则全选数字。3、Delete就正常从后面删除;Enter暂时无操作();Tab自动跳转焦点;4、Back往前删除,如果当前输入框为空,则跳转到前面一个输入框;如果前面一个输入框有数字,则删除一位数字;左右方向键就控制光标移动。布局4个Text原创 2021-03-30 11:45:52 · 2120 阅读 · 0 评论 -
WPF:重写Slider滑动条模板,美化样式设计
默认的Slider看一下默认的Slider样式<Style x:Key="BaseSliderStyle" TargetType="Slider"> <Setter Property="Width" Value="500"/> <Setter Property="Margin" Value="20"/> <Setter Property="Maximum" Value="10"/> <Setter Property="原创 2020-12-09 16:03:46 · 4392 阅读 · 3 评论 -
WPF:Path详解,包括直线(LineSegment)弧线(ArcSegment)贝塞尔曲线(BezierSegment)
使用Path作图,有两种方法设置Path.Data:使用PathGeometry对象如:画的是一个带箭头边框。Path.Data由一些列的Segment组合而成。<Path Stroke="Red"> <Path.Data> <PathGeometry> <PathFigure StartPoint="5,0" IsClosed="True"> <ArcSegmen原创 2020-12-07 15:45:00 · 9083 阅读 · 0 评论 -
WPF:使用Popup制作带箭头的弹出提示框
先上效果图:思路:制作带箭头的边框:使用Path首先我们要制作带箭头,且有4个圆角的“边框”,简单点的可以去找个图片当背景,但是遇到复杂的就不适用了。所以这里我们选择使用Path来画出这个带箭头圆角边框。 看下图(PPT画图好难)我们分析一下这个边框形状,为了简单起见我们先假定长宽一样。1、中间蓝色是个长宽=100的正方形,就是效果图中浅蓝色那部分,在该部分可以放任意多的内容。2、假定4个圆角的半径都为5,箭头那里三角形底(黄色线),那就假定为2*r=10。3、以左上角为坐标原点,应该不原创 2020-12-05 09:57:20 · 2666 阅读 · 3 评论 -
WPF实现一键(换肤)切换主题颜色
现在很多软件都支持一键切换主题颜色的功能,以适应不同场景下给予人不同的体验。那WPF如何做到一键换肤呢?一、思路更换控件的样式资源文件。我们都知道不要写死控件的样式,例如直接按钮设置背景色为黑色<Setter Property="Background" Value="Black"/>大部分时候会另外新建两个字典资源文件<ResourceDictionary>,一个Button.xaml专门写按钮的样式资源,通过style = {StaticResource x:Key}的原创 2020-11-14 17:13:41 · 6059 阅读 · 0 评论 -
在WPF中使用Winform中自带的画图控件Chart,模拟动态更新数据
一、如何在WPF中使用Chart控件1、添加引用右键项目引用-添加引用,在程序集中选择下图三个东东2、添加命名空间xmlns:Wchart="clr-namespace:System.Windows.Forms.DataVisualization.Charting;assembly=System.Windows.Forms.DataVisualization"3、引用注意要放在WindowsFormsHost标签内部<WindowsFormsHost Grid.Row="2">原创 2020-11-07 16:31:09 · 3504 阅读 · 2 评论 -
WPF 解决Popup的位置不能随窗口位置、大小改变而改变的问题
问题描述:WPF中会使用Popup来实现类似点击按钮,弹出一个小下拉窗口(非window)的功能。如果popup设置了StayOpen,此时改变窗口的大小或者位置,会发现Popup停在原地,不会随着窗口的位置、大小变化而改变。类似下图:布局代码:<Border BorderBrush="Black" BorderThickness="1" Margin="100,150"> <Grid> <Button Name="btn" Content="下拉框停靠位置" Wi原创 2020-11-05 10:57:54 · 2833 阅读 · 0 评论 -
WPF、C#:值转换器(IValueConverter)的的使用
WPF、C#:值转换器(IValueConverter)的的使用1、使用场景例如,设置按钮的宽度(或长度),绑定为其父元素或者其他命名(x:Name)元素宽度(或长度等)的一半(或者1/3等等)。正常在布局文件中使用数据绑定只能是绑定固定的值,如宽度Width="{Binding ElementName=源元素名称, Path=Width}不能使用运算符,如只需要一半宽度Width="{Binding ElementName=源元素名称, Path=Width / 2}2、解决方法创建值转原创 2020-10-10 11:22:47 · 4008 阅读 · 1 评论 -
WPF:MouseDown、MouseUP事件,鼠标按下不起作用
后台代码设置按钮按下、释放的事件通常我们会为按钮btn添加MouseDownEvent和MouseUpEvent事件,,如下:public MainWindow(){ InitializeComponent(); btn.AddHandler(Button.MouseDownEvent, new MouseButtonEventHandler(Btn_MouseDown)); btn.AddHandler(Button.MouseUpEvent, new MouseButtonEventHand原创 2020-09-26 10:39:12 · 7763 阅读 · 1 评论