我们创建一个wpf应用程序,我们把里面的xaml文件全部删除,添加一个新类:

如下图:

然后我们cs文件中的代码:

using System;
using System.Collections.Generic;
using System.Text;
using System.Windows.Controls;
using System.Windows;
using System.Windows.Media;
using System.Windows.Shapes;namespace 无xaml的WPF
{//首先继承System.Windows.Application对象class subMain : System.Windows.Application{//线程单元标记
        [STAThread]public static void Main(){System.Windows.Application app = new Application();MyWindow mw = new MyWindow();mw.Width = 500;mw.Height = 450;mw.BorderThickness = new Thickness(50, 5, 50, 5);app.Run(mw);}}public partial class MyWindow : Window//继承Window对象
    {//创建需要的元素
        Canvas canv;Ellipse e1;Button b1;Label lab1;Rectangle r1;Rectangle r2;public MyWindow(){canv = new Canvas();canv.Name = "C1";this.Content = canv;canv.Margin = new Thickness(0, 0, 0, 0);canv.Background = new SolidColorBrush(Colors.White);e1 = new Ellipse();e1.Fill = new SolidColorBrush(Colors.YellowGreen);e1.Stroke = new SolidColorBrush(Colors.Azure);e1.Width = 200;e1.Height = 200;e1.Margin = new Thickness(50, 100, 0, 0);canv.Children.Add(e1);r1 = new Rectangle();r1.Fill = new SolidColorBrush(Colors.Tomato);r1.Opacity = 0.5;r1.Stroke = new SolidColorBrush(Colors.Red);r1.Width = 200;r1.Height = 200;r1.SetValue(Canvas.LeftProperty, (double)150);r1.SetValue(Canvas.TopProperty, (double)100);canv.Children.Add(r1);b1 = new Button();b1.Width = 100;b1.Height = 20;b1.Content = "修改圆形位置";b1.SetValue(Canvas.LeftProperty, (double)r1.GetValue(Canvas.LeftProperty) + 50);b1.SetValue(Canvas.TopProperty, (double)r1.GetValue(Canvas.TopProperty) + 50);b1.Click += new RoutedEventHandler(b1_Click);canv.Children.Add(b1);Label lab0 = new Label();lab0.Margin = new Thickness(20, 20, 0, 0);lab0.Width = 400;lab0.Height = 40;lab0.FontSize = 24;lab0.Name = "lab0";lab0.Content = "无XAML动态编程演示";canv.Children.Add(lab0);lab1 = new Label();lab1.Margin = new Thickness(20, 50, 0, 0);lab1.Width = 400;lab1.Height = 40;lab1.FontSize = 24;lab1.Name = "lab1";lab1.Content = "Location:";canv.Children.Add(lab1);r2 = new Rectangle();r2.Width = 100;r2.Height = 50;r2.Fill = Brushes.YellowGreen;r2.Stroke = Brushes.RoyalBlue;r2.StrokeThickness = 4;canv.Children.Add(r2);e1.MouseMove += new System.Windows.Input.MouseEventHandler(el_MouseMove);}void b1_Click(object sender, RoutedEventArgs e){Point p = System.Windows.Input.Mouse.GetPosition(canv as System.Windows.IInputElement);e1.Margin = new Thickness(p.X, p.Y, 0, 0);}void el_MouseMove(object sender, System.Windows.Input.MouseEventArgs e){Ellipse a = e.Source as Ellipse;Point p = System.Windows.Input.Mouse.GetPosition(canv as System.Windows.IInputElement);lab1.Content = "Location:" + p.ToString();}}
}

效果展示:

转载于:https://www.cnblogs.com/BABLOVE/p/3236120.html

无Xaml的WPF展示相关推荐

  1. 第一章:初识WPF,XAML,WPF控件

    前言 总目录 本章主要介绍WPF与XAML,以及WPF的控件的基本使用,让大家先初步认识WPF. 关于WPF的官方资料:官方WPF文档1 .官方WPF文档2.官方WPF文档3.官方WPF文档4 一.W ...

  2. XAML C# WPF

    XAML定义 XAML是一种相对简单.通用的声明式编程语言,它适合于构建和初始化.NET对象. XAML仅仅是一种使用.NET API的方式,把它与HTML.可伸缩向量图形(SVG)或其他特定领域的格 ...

  3. wpf 展示特定列表结构

    wpf中,ItemsControl可以将任何内容作为集合放置某容器中展示 具体用法 <ItemsControl x:Name="_button"><ItemsCo ...

  4. WPF 展示视频修改为WriteableBitmap

    WPF开发者QQ群:340500857 由于微信群人数太多入群请添加小编微信号  yanjinhuawechat 或 W_Feng_aiQ 邀请入群 需备注WPF开发者 PS:有更好的方式欢迎推荐. ...

  5. 微软XAML Studio - WPF, UWP, Xamarin等技术开发者的福音

    最近在继续倒腾WPF的项目,继续使用Caliburn.Micro和Xceed来堆代码.每次调试xaml上的binding,都有种要疯的赶脚. 今天路过 https://channel9.msdn.co ...

  6. 微软XAML Studio - WPF, Sliverlight, Xamarin, UWP等技术开发者的福音

    最近又在继续倒腾 WPF 的项目,继续使用 Caliburn.Micro 和 Xceed 来堆代码.每次调试xaml上的binding,都有种要疯的赶脚. 今天路过 https://channel9. ...

  7. 对象序列化(六):应用实例-WPF对象的XAML序列化

    WPF使用XAML来描述用户界面,每个XAML元素往往对应着相应的WPF对象,元素的属性对应着对象的属性. 由于XAML元素与WPF对象之前存在着这种对应关系,其实可以将XAML代码看成是WPF对象& ...

  8. 【笔记】【WPF编程宝典】 第02章 XAML

    目录 2.1 理解XAML 2.1.1 WPF 之前的图形用户界面 2.1.2 XMAL 变体 2.1.3 XAML编译 2.2 XAML基础 2.2.1 XAML名称空间 2.2.2 代码隐藏类 2 ...

  9. WPF学习笔记5: Xaml之Markup Extensions

    Markup Extensions 与TypeConverter 差不多,允许扩展Xaml表达式,把Xaml中的文本转换成相应的对象/对象程序. 在上述例子中,x:Null, x:Static, Bi ...

  10. 深入浅出WPF——什么是XAML

    深入浅出WPF--什么是XAML 小序: 还记得周星驰那句话吗?"人如果没有理想,那跟咸鱼有什么区别".当自己一步踏上追求理想的征途,才发现为了理想要放弃很多.很多--只有这时候才 ...

最新文章

  1. 深入理解HTTP Session
  2. 电脑常见故障处理_关于密封仪、密封试验仪器在使用上的常见故障及维护方面...
  3. 文字描边加粗_让文字表现出十足的个性!
  4. wxWidgets:wxCalendarCtrl类用法
  5. Ribbon-4 Ribbon脱离Eureka使用
  6. 《C++ Primer 5th》笔记(3 / 19):字符串、向量、迭代器和数组
  7. 使用gulp构建前端(三)
  8. HDU2008 数值统计【入门】
  9. python能做什么项目-Python 的练手项目有哪些值得推荐?
  10. 结构体内存对齐的原则及原理
  11. Nvidia风扇速度自动调节工具推荐
  12. 不用爬虫也可以轻松获取 unsplash 图片
  13. html 播放微信amr音频文件,如何在微信中播放amr格式的文件?
  14. java 使用CA认证
  15. Win xp IIS无法启动解决办法收集
  16. 【Linux】putty 出现 inactive
  17. 已解决Excel无法打开文件test.xIsx“,因为文件格式或文件扩展名无效。请确定文件未损坏,并且文件扩展名与文件的格式匹配。
  18. 计算机英语写一封邮件给汤姆作文,英语作文带翻译写一封电子邮件
  19. codeforces 133A(HQ9+) Java
  20. Github创建个人博客

热门文章

  1. 阿里架构师的工作总结:Spring Cloud在架构演进中起到的作用
  2. linux安装vmware出现Gtk-Message: Failed to load module pk-gtk-module canberra-gtk-module的解决方法...
  3. 浅谈.NET中泛型的基本原理
  4. label字符自动换行(转自网络)
  5. springboot项目发布到独立的tomcat中运行
  6. 通过隐藏Nginx和PHP版本号防止黑客攻击
  7. Apache Hadoop 2.4.1完全分布式集群安装
  8. .NET Framework第一二课(7/26、27)
  9. Exchange 2010安装必要条件
  10. 1.单进程SAPI生命周期