我们创建一个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 = ;
mw.Height = ;
mw.BorderThickness = new Thickness(, , , );
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(, , , );
canv.Background = new SolidColorBrush(Colors.White); e1 = new Ellipse();
e1.Fill = new SolidColorBrush(Colors.YellowGreen);
e1.Stroke = new SolidColorBrush(Colors.Azure);
e1.Width = ;
e1.Height = ;
e1.Margin = new Thickness(, , , );
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 = ;
r1.Height = ; r1.SetValue(Canvas.LeftProperty, (double));
r1.SetValue(Canvas.TopProperty, (double));
canv.Children.Add(r1); b1 = new Button();
b1.Width = ;
b1.Height = ;
b1.Content = "修改圆形位置";
b1.SetValue(Canvas.LeftProperty, (double)r1.GetValue(Canvas.LeftProperty) + );
b1.SetValue(Canvas.TopProperty, (double)r1.GetValue(Canvas.TopProperty) + );
b1.Click += new RoutedEventHandler(b1_Click);
canv.Children.Add(b1); Label lab0 = new Label();
lab0.Margin = new Thickness(, , , );
lab0.Width = ;
lab0.Height = ;
lab0.FontSize = ;
lab0.Name = "lab0";
lab0.Content = "无XAML动态编程演示";
canv.Children.Add(lab0); lab1 = new Label();
lab1.Margin = new Thickness(, , , );
lab1.Width = ;
lab1.Height = ;
lab1.FontSize = ;
lab1.Name = "lab1";
lab1.Content = "Location:";
canv.Children.Add(lab1); r2 = new Rectangle(); r2.Width = ;
r2.Height = ;
r2.Fill = Brushes.YellowGreen;
r2.Stroke = Brushes.RoyalBlue;
r2.StrokeThickness = ;
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, , ); } 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();
} }
}

效果展示:

无Xaml的WPF展示的更多相关文章

  1. 11、创建不使用XAML的WPF应用程序

    首先新建一个空的项目,然后添加一个类,引用一下程序集: PresentationCore.dll PresentationFramework.dll WindowsBase.dll namespace ...

  2. [XAML]类似WPF绑定的Binding的读取方法

    在WPF的XAML里,依赖属性可以使用基于BindingBase之类的MarkupExtensin 读取XAML时,会自动的把该BindingBase转换为BindingExpressionBase ...

  3. 使用XAML在WPF项目中承载ArcGIS Engine地图控件开发

    原文 http://blog.csdn.net/flexmapserver/article/details/5868882 用Windows Form进行ArcGIS Engine二次开发时常见的形式 ...

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

    目录 编辑器功能 数据源功能 调试数据绑定 伟大的开始 我们来一起实践吧 最近又在继续倒腾WPF的项目,继续使用Caliburn.Micro和Xceed来堆代码.每次调试xaml上的binding,都 ...

  5. 没有xaml的WPF

    出于强迫症,我查了一下文档弄明白了WPF脱离xaml应该怎么搞.当然其实本质是为了MaxScript里使用做准备. using System; using System.Windows; using ...

  6. WPF,Silverlight与XAML读书笔记(3) - 标记扩展

    hystar的.Net世界 博客园 首页 新闻 新随笔 联系 管理 订阅 随笔- 103  文章- 0  评论- 107  WPF,Silverlight与XAML读书笔记(3) - 标记扩展   说 ...

  7. 【WPF系列】基础学习-XAML

    引言 WPF框架中已经提到,WPF框架提供XAML基本服务.WPF中XAML的引入向开发者提供UI设计和代码分离的编程型.XAML是WPF中提出的一个具有重要意义的新技术,基本涉及WPF中所有UI开发 ...

  8. .Net Core WPF之XAML概述

    原文链接,机器翻译,有误处参看原文. XAML overview in WPF 2019/08/08 What is XAML XAML syntax in brief Case and white ...

  9. WPF入门:XAML

    XAML是WPF技术中专门用于设计UI的语言 XAML优点最大的优点是将UI与逻辑代码剥离 创建第一个WPF应用程序 VS默认生成的WPF项目解决方案 Properties:里面主要包含了程序用到的一 ...

随机推荐

  1. php-mysql结果集函数比较

    本节主要介绍了获取查询结果集的4个函数,此处对它们进行综合比较.     ● mysql_result():优点在于使用方便:而缺点在于功能少,一次调用只能获取结果数据集中的一行记录,对较大型的数据库 ...

  2. 在C#中如何确定一个文件是不是文本文件,以及如何确定一个文件的类型

    博客搬到了fresky.github.io - Dawei XU,请各位看官挪步.最新的一篇是:在C#中如何确定一个文件是不是文本文件,以及如何确定一个文件的类型.

  3. Hadoop的辉煌还能延续多久?

    摘要:Hadoop已经成为大数据的代名词.短短几年间,Hadoop从一种边缘技术成为事实上的标准.而另一方面,MapReduce在谷歌已不再显赫.当企业瞩目MapReduce的时候,谷歌好像早已进入到 ...

  4. jQuery练习实例(四)

    最近写的jquery实例--jQuery图片九宫格样式鼠标悬停图片滑动切换效果 有兴趣的同学可以参考一下,这幅效果,个人觉得挺不错的 <%@ page language="java&q ...

  5. 关于PreferenceActivity的使用和一些问题的解决(自己定义Title和取值)

    android的Setting往往用PreferenceActivity来写的 我们在建立layout文件: <PreferenceScreen xmlns:android="http ...

  6. Oracle 数据库用户管理

    Oracle 数据库用户管理 Oracle 权限设置      一.权限分类: 系统权限:系统规定用户使用数据库的权限.(系统权限是对用户而言). 实体权限:某种权限用户对其它用户的表或视图的存取权限 ...

  7. Show Global Status 整理

    原文来源:MySQL 5.5 Reference Manual 部分翻译取自:<MySQL_5.1中文参考手册> 转载请注明原文链接http://www.cnblogs.com/lenag ...

  8. SCTP 关联的建立和终止

    与TCP一样,SCTP也是面向连接的,因而也有关联的建立与终止的握手过程.不过SCTP的握手过程不同于TCP. 四路握手 建立一个SCTP关联的时候会发生下述情形(类似于TCP). (1)服务器必须准 ...

  9. [转]allocWithZone 和 单例模式

    一.问题起源 一切起源于Apple官方文档里面关于单例(Singleton)的示范代码:Creating a Singleton Instance. 主要的争议集中在下面这一段: ? 1 2 3 4 ...

  10. android开发之定制ViewPager滑动事件

    明天还要加班,苦逼的程序猿,简单说说最近遇到的一个问题吧. 我在viewpager+fragment学习笔记中简单介绍过ViewPager+Fragment的用法,其实并不难,当时实现了一个如下图所示 ...