首页 > 其他分享 >WPF DrawingContext DrawingVisual OnRender()

WPF DrawingContext DrawingVisual OnRender()

时间:2024-05-28 21:36:46浏览次数:16  
标签:150 OnRender group Windows DrawingVisual System new using WPF

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using System.Windows.Media.Animation;
using System.Windows.Media.Effects;

namespace WpfApp117
{
    /// <summary>
    /// Interaction logic for MainWindow.xaml
    /// </summary>
    public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();
            TestDrawingVisual visual = new TestDrawingVisual();
            ((TestDrawingVisual)visual).DrawEllipseDemo();
            Image img = new Image();
            DrawingImage dImg = new DrawingImage(visual.Drawing);
            img.Source = dImg;
            this.Content = img;
        }

        public class TestDrawingVisual : DrawingVisual
        {
            public void DrawEllipseDemo()
            {
                using (DrawingContext dc = RenderOpen())
                {
                    EllipseGeometry outterEllipse = new EllipseGeometry(new Point(150, 150), 200, 200);
                    EllipseGeometry interEllipse = new EllipseGeometry(new Point(150, 150), 100, 100);
                    GeometryGroup group = new GeometryGroup();
                    group.FillRule = FillRule.EvenOdd;
                    group.Children.Add(outterEllipse);
                    group.Children.Add(interEllipse);
                    dc.DrawGeometry(Brushes.Blue, null, group);
                }
            }
        }
    }
}

 

标签:150,OnRender,group,Windows,DrawingVisual,System,new,using,WPF
From: https://www.cnblogs.com/Fred1987/p/18218949

相关文章

  • WPF RingShape
    //csusingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;usingSystem.Threading.Tasks;usingSystem.Windows;usingSystem.Windows.Controls;usingSystem.Windows.Data;usingSystem.Windows.Documents;usingSystem.Windows.I......
  • WPF XAML中特殊字符的转义代码
    字符转义字符&&amp;>&gt;<&lt;"&quot;’&apos;{{}{回车&#x000D;或者&#13;换行&#x000A;或者&#10;Tab&#x0009;或者&#9;空格&#x0020;或者&#32;......
  • 记一次 .NET某工控WPF程序被人恶搞的 卡死分析
    一:背景1.讲故事这一期程序故障除了做原理分析,还顺带吐槽一下,熟悉我的朋友都知道我分析dump是免费的,但免费不代表可以滥用我的宝贵时间,我不知道有些人故意恶搞卡死是想干嘛,不得而知,希望后面类似的事情越来越少吧!废话不多说,我们来看看是如何被恶搞的。二:WinDbg分析1.程序是如......
  • WPF Splash Screen – A New Splash Screen Manager (v20.1) 启动页 闪屏页 初始加载
    WPFSplashScreen–ANewSplashScreenManager(v20.1)(devexpress.com)  WPFTeamBlog RSS06July2020A splashscreen isaneffectivewaytoimproveanapp’suserexperienceduringlengthystartupoperations.Unfortunately,creatinganef......
  • WPF 中具有静态属性的数据绑定
    我有一个简单的静态属性FontSizeTitle,它应该用于所有HandledWindow类型实例中的风格化标题,并在更改属性后同时从同一个静态属性更新而无需明确通知。通过设置面板或任何会更改属性的内容,以便直观地更改和更新所有窗口的所有标题的字体大小。这是我在XAML中风格化标题的代码,它......
  • WPF_全局静态变量并且实现变更通知
    WPF_全局静态变量并且实现变更通知当我是开发WPF时可能会出现一个数据在多个页面使用的情况或者获取的数据在工具类里面需要更新到界面上,这时候就可以使用全局静态变量来实现界面的更新.第一步:编写全局静态变量并创建变更通知usingSystem;usingSystem.Collections.Generic;us......
  • WPF开发01-数据绑定的几种方式,静态,动态、向上查找、适应各种情况
    1.前后端简单绑定第一种比较常见,常见于mvvm框架前端<TextBlockText="{BindingPath=Name}"></TextBlock>1后端publicclassPersonViewModel:INotifyPropertyChanged{publicstringName{get{returnname;}set{if(name......
  • Wpf经验技巧-使用 d:DataContext 指定 DataContext 的类型.
    VM代码:V代码(版本1):没有指定DataContext的类型,所以下面的绑定并不知道P1和P3到底是什么,也就无法在代码编辑时检测出绑定是否正确.如果写错了,只能等到程序运行并打开这个窗口时报错才能知道.V代码(版本2):通过d:DataContext指定了DataContext的类型,所以下面的绑定可以知道......
  • 一步一步实现WPF透明化窗口
    这一篇教程讲述如何实现透明窗体和透明控件,在WindowStyle设置为none情况下拖拽窗口,半透明作为较容易实现的一种美观化,对于大多数美工较弱的开发者来说实用性不错,能在一些平面化设计场合发挥简单而有效的美化效果。  实现效果1:窗体整体半透明   实现效果2:窗体全透明......
  • WPF设置Button的Style
    扣扣技术交流群:460189483一、前言程序界面上的按钮多种多样,常用的就这几种:普通按钮、图标按钮、文字按钮、图片文字混合按钮。本文章记录了不同样式类型的按钮实现方法。下面话不多说了,来一起看看详细的介绍吧。二、固定样式的按钮固定样式的按钮一般在临时使用时或程序的样式......