科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道基础软件为.NET程序批上WPF的绚丽外衣

为.NET程序批上WPF的绚丽外衣

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

你也许听说过Avalon,也许看过相关的屏幕截图或demo,但是现在你可以亲手尝试了

作者:维维编译 来源:天极开发 2007年11月3日

关键字:

  • 评论
  • 分享微博
  • 分享邮件
这篇文章里,我主要讲解创建一个WinFX windows应用程序的流程,所以我们选择和其对应的工程模板。

  当你第一次创建这个程序的时候,你将会看到和标准的VS设计环境类似的界面,但是事实上它是一个VS的新的XAML设计器,代号"Cider"。如图2所示。


图2

  如果你仔细看图2,你会发现在设计面板的下部有一个新tab,名为"Xaml"。点击它,你会看到当前设计的XAML,这个XAML包含了一个简单的对话框,显示了一个lable,一个textbox,一个按钮:

<Window x:Class="AvalonHelloWorld.Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/
presentation" xmlns:x=
"http://schemas.microsoft.com/winfx/2006/xaml"
Title="AvalonHelloWorld" Height="300" Width="300"
Opacity="0.5">
<Grid>
<Button Width="NaN" Height="37"
VerticalAlignment="Bottom"
HorizontalAlignment="Stretch" Grid.Column="0"
Grid.ColumnSpan="1" Grid.Row="0"
Grid.RowSpan="1"
Margin="114,0,8,8"
Name="button1">Button</Button>
<Label Width="NaN" Height="30.276666666666667"
VerticalAlignment="Top"
HorizontalAlignment="Stretch"
Grid.Column="0" Grid.ColumnSpan="1"
Grid.Row="0"
Grid.RowSpan="1"
Margin="16,25.7233333333333,89.37,0"
Name="label1" FontSize="20">
Enter Text Here:</Label>
<TextBox Width="NaN" Height="42.276666666666671"
VerticalAlignment="Bottom"
HorizontalAlignment="Stretch"
Grid.Column="0" Grid.ColumnSpan="1"
Grid.Row="0"
Grid.RowSpan="1" Margin="16,0,34.37,157"
Name="textBox1"></TextBox>
</Grid>
</Window>

  当你改变Cider可视化编辑器里的对话框的布局的时候,工具会自动更新XAML的内容。

  对控件的基于设计者的事件添加机制还没有被Cider所支持,不过如果手工对XML进行一些修改就可以很容易的增加一些事件。比如,你可以手工为"Click"属性增加一个点击事件处理:

<Button Click="ButtonClick" Width="NaN" Height="37"
VerticalAlignment="Bottom"
HorizontalAlignment="Stretch"
Grid.Column="0" Grid.ColumnSpan="1" Grid.Row="0"
Grid.RowSpan="1" Margin="114,0,8,8"
Name="button1">Button</Button>

  你可以看到,这里做的就是为按钮增加了一个新的"Click"属性,并且给出了点击按键事件句柄的名称。如果你选择了"Source"那个tab,你可以为这个事件创建处理句柄。

  Avalon使用一种被称为"Routed Events"的机制来绑定XAML和后端代码,如同其名--事件在运行时在独立的XAML UI和代码之间相互传递。

  这样的话,你需要声明事件句柄来使用RoutedEventArgs参数:

void ButtonClick(object sender, RoutedEventArgs e)
{
System.Windows.MessageBox.Show("Hello World to:" +
textBox1.Text);
}

  如果你此时运行程序,你将看到WPF基于向量的引擎已经开始工作了,如图3所示。


图3

  这样你就完成了你的第一次Avalon的学习之旅,也许它没有想象中的激动人心,但是毕竟你已经开始掌握这一先进技术了。
    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章