WPF笔记(1.1 WPF基础)——Hello,WPF!

Example 1-1. Minimal C# WPF application
// MyApp.cs
using System;
using System.Windows; // the root WPF namespace

namespace MyFirstAvalonApp {
  class MyApp {
    [STAThread]
    static void Main(  ) {
      // the WPF message box
      MessageBox.Show("Hello, Avalon");
    }
  }
}

1。这里,在project中要事先导入3个framework的dll,分别是WindowsBase,PresentationCore, PresentatioFramework,这样你才可以使用新的System.Windows——来自\Framework\v3.0 \WindowsBase.dll,而不是\Framework\v2.0.50727\System.Windows.Forms.dll,从而增加了很多新的功 能。

2。注意,vs2005下是看不到Main的,所以这么玩就不行;找到App.g.cs这样的文件,Main代码藏在这 里,对其进行相应改动。vs2005下自动找Main的小技巧:因为App类是分散类,所以右击函数定义,会找 到两个地方,一个就是本页App.xaml.cs,另一个会定向到App.g.cs文件。

Example 1-3. A minimal msbuild project file
<!-- 1st.csproj -->
<Project
  DefaultTargets="Build"
  xmlns="http://schemas.microsoft.com/developer/msbuild
/2003">
  <PropertyGroup>
    <OutputType>winexe</OutputType>
    <OutputPath>.\</OutputPath>
    <Assembly>1st.exe</Assembly>
  </PropertyGroup>
  <ItemGroup>
    <Compile Include="MyApp.cs" />
    <Reference Include="System" />
    <Reference Include="WindowsBase" />
    <Reference Include="PresentationCore" />
    <Reference Include="PresentationFramework" />
  </ItemGroup>
  <Import Project="$(MsbuildBinPath)\Microsoft.CSharp.targets" />
</Project>

时间: 2024-10-03 10:29:02

WPF笔记(1.1 WPF基础)——Hello,WPF!的相关文章

WPF笔记(1.10 绘图)——Hello,WPF!

书中的代码语法过时了,改写为以下(测试通过): <Button> <Button.LayoutTransform> <ScaleTransform ScaleX="3" ScaleY="3" /> </Button.LayoutTransform> <StackPanel Orientation="Horizontal"> <Canvas Width="20"

WPF笔记(1.6 数据绑定)——Hello,WPF!

这个一节都是在讲一个数据绑定的示例. 功用:输入姓和名,点击Add按钮,ListBox增加一条记录,永远是字符串"name: nick":ListBox原 先有3条不同记录,选中ListBox一条记录,两个输入框姓和名相应变化. 技术分析:2个类,一个xaml,一个一个分析. 1)Nickname类, 实体类,提供两个属性Nick和Name,还有一个PropertyChanged事件.实现了 INotifyPropertyChanged 接口(从而可以使用PropertyChanged

WPF笔记(1.4 布局)——Hello,WPF!

这一节只是第2章的引子. 布局要使用Panel控件,有四种Panel,如下: DockPanel,就是设置停靠位置布局模型. StackPanel,提供一个从左至右或从上至下放置内容的堆栈模型. Grid,提供一个允许进行 行/网格定位的模型.可使用表格. Canvas,可精确定位. 其中,Grid是最常用的,vs2005自动生成的Page和window都默认带有这个标签: Example 1-25. A sample usage of the Grid panel <Window > <

“WPF老矣,尚能饭否”—且说说WPF今生未来(上):担心

近日微软公布了最新的WPF路线图,一片热议:对于老牌控件提供商葡萄城来说,这是WPF系列控件一个重要的机遇,因此,Spread Studio for WPF产品做了一次重要更新,并随着Spread Studio 8.0发布.鉴于此,选择翻译并整理了一篇自codeproject的文章:<Is WPF dead: the present and future of WPF​>,抛砖引玉,且聊聊程序员心目中的WPF.      引​子 作为一个老牌WPF程序员,​​多年来一直关注的问题是,在微软发布

WPF老矣,尚能饭否——且说说WPF今生未来(下):安心

在前面的上.中篇中,我们已经可以看到园子里朋友的点评"后山见! WPF就比winform好! 激情对决".看到大家热情洋溢的点评,做技术的我也很受感动.老实说,如何在本文收笔--WPF系列文章,我很紧张:我希望大家阅读完本系列文章后:各取所取.尽兴而归. 坦白的说,葡萄城作为一家专注.NET技术的公司(仅海外分公司之一的西安葡萄城已经成立26年),我们几乎走遍了微软的技术路线,无论从技术前瞻性.或是技术深度均有涉猎. 我们做控件的,也是非常想知道WPF未来走势如何. 但抱歉的是,我无法

工欲善其事,必先利其器 之 WPF篇: 随着开发轨迹来看高效WPF开发的工具和技巧

原文:工欲善其事,必先利其器 之 WPF篇: 随着开发轨迹来看高效WPF开发的工具和技巧 之前一篇<工欲善其事,必先利其器.VS2013全攻略(安装,技巧,快捷键,插件)!> 看到很多朋友回复和支持,非常感谢,尤其是一些拍砖的喷油,感谢你们的批评,受益良多. 我第一份工作便是WPF的开发,一直到现在都非常喜欢这门技术,从懵懵懂懂到现在有一些WPF开发资历,也算是经历了一段坎坷的过程.我的朋友看到我写了VS2013的全攻略,他就推荐我写一个WPF篇,我想了下,的确很多朋友初接触WPF的时候难免会

WPF老矣,尚能饭否——且说说WPF今生未来(中):策略

本文接上文<WPF老矣,尚能饭否--且说说WPF今生未来(上):担心>继续. "上篇"中部分精彩的点评: 虽然WPF不再更新了,但是基于WPF的技术还是在发展着,就比如现在的WinRT,只不过API换了一套而已,xaml还是xaml,数据绑定还是数据绑定,依赖属性还是依赖属性,模板还是模板.其实学过WPF的转WinRT还是比较爽的,Blend的操作也没变,只不过现在WinRT的人才需求量的确有点坑. 最后感谢WPF给我们带来MVVM这种开发方式.开发模型.   by @h8

WPF的消息机制(三)- WPF内部的5个窗口之处理激活和关闭的消息窗口以及系统资源通知窗口

目录 WPF的消息机制(一)-让应用程序动起来 WPF的消息机制(二)-WPF内部的5个窗口 (1)隐藏消息窗口 (2)处理激活和关闭的消息窗口以及系统资源通知窗口 (3)用于用户交互的可见窗口 (4)用于UI窗口绘制的可见窗口 WPF的消息机制(三)-WPF输入事件的来源 WPF的消息机制(四)-WPF中UI的更新   处理应用程序激活和系统关闭的窗口(Window 2#) 创建时机:在调用Application.Run之后,运行到Application.EnsureHwndSource()方

javascript学习笔记_浅谈基础语法,类型,变量_基础知识

基础语法.类型.变量 非数字值的判断方法:(因为Infinity和NaN他们不等于任何值,包括自身) 1.用x != x ,当x为NaN时才返回true; 2.用isNaN(x) ,当x为NaN或非数字值时,返回true; 3.用isFinity(x),在x不是NaN.Infinity.-Infinity时返回true; 虽然(字符串.数字.布尔值)不是对象,他们的属性是只读的,但也可以像操作对象一样来引用他们的属性和方法,原理: javascript构造一个(String.Number.Boo