Windows Presentation Foundation (WPF) 3D 教程(三) ----从下面的代码开始
2010-04-20 18:03
696 查看
假设你已经对如何使用XAML创建一个基本的WPF用户界面有了基本的理解。那么让我们用VS.net 2005来创建一个新的wpf程序。下面的代码到app程序中创建一个简单的布局,用panel用于Buttons,Viewport3D用于显示我们的3D任务。
从根本上讲,WPF中所有的3D任务都发生在Viewport3D 控件中,那就是我们将要添加我们的3D模型代码的地方。注意到一个PerspectiveCamera 已经添加到了Viewport3D里面,照相机允许我们从用户的视角“看”这个模型里面都有什么。注意:照相机是在模型中点{0,0,0}处看的。
这个模型当然也包含了一个DirectionalLight 光源,因此我们可以在模型中查看东西了。
鼓励你改变照相机的LookDirection 和 Position 当你浏览这些例子的时候,本教程中的截图不一定如上的XMAL中使用了LookDirection and Position 的值。
以上的XAML代码中有个叫做simpleButton的Button控件,因此我们需要截获它的Click事件,在代码文件中添加一个消息响应函数simpleButtonClick 。
<Grid> <DockPanel Width="Auto" VerticalAlignment="Stretch" Height="Auto" HorizontalAlignment="Stretch" Grid.ColumnSpan="1" Grid.Column="0" Grid.Row="0" Margin="0,0,0,0" Grid.RowSpan="1"> <StackPanel> <StackPanel.Background> <LinearGradientBrush> <GradientStop Color="White" Offset="0"/> <GradientStop Color="DarkKhaki" Offset=".3"/> <GradientStop Color="DarkKhaki" Offset=".7"/> <GradientStop Color="White" Offset="1"/> </LinearGradientBrush> </StackPanel.Background> <StackPanel Margin="10"> <Button Name="simpleButton" Click="simpleButtonClick">Simple</Button> </StackPanel> </StackPanel> <Viewport3D Name="mainViewport" ClipToBounds="True"> <Viewport3D.Camera> <PerspectiveCamera FarPlaneDistance="100" LookDirection="-11,-10,-9" UpDirection="0,1,0" NearPlaneDistance="1" Position="11,10,9" FieldOfView="70" /> </Viewport3D.Camera> <ModelVisual3D> <ModelVisual3D.Content> <DirectionalLight Color="White" Direction="-2,-3,-1" /> </ModelVisual3D.Content> </ModelVisual3D> </Viewport3D> </DockPanel> </Grid>
从根本上讲,WPF中所有的3D任务都发生在Viewport3D 控件中,那就是我们将要添加我们的3D模型代码的地方。注意到一个PerspectiveCamera 已经添加到了Viewport3D里面,照相机允许我们从用户的视角“看”这个模型里面都有什么。注意:照相机是在模型中点{0,0,0}处看的。
这个模型当然也包含了一个DirectionalLight 光源,因此我们可以在模型中查看东西了。
鼓励你改变照相机的LookDirection 和 Position 当你浏览这些例子的时候,本教程中的截图不一定如上的XMAL中使用了LookDirection and Position 的值。
以上的XAML代码中有个叫做simpleButton的Button控件,因此我们需要截获它的Click事件,在代码文件中添加一个消息响应函数simpleButtonClick 。
private void simpleButtonClick(object sender, RoutedEventArgs e) { }
相关文章推荐
- Windows Presentation Foundation (WPF) 3D 教程(一)---声明
- Windows Presentation Foundation (WPF) 3D 教程(二)----3D模型基本知识
- Wpf 3D入门指南(Windows Presentation Foundation (WPF) 3D Tutorial)(二)
- Wpf 3D入门指南(Windows Presentation Foundation (WPF) 3D Tutorial)(三)
- Wpf 3D入门指南(Windows Presentation Foundation (WPF) 3D Tutorial)(一)
- Pro WPF in C# 2008 Windows Presentation Foundation with .NET 3.5(第二版)概览
- Windows Presentation Foundation(WPF)介绍
- Windows Presentation Foundation 开始介绍
- Windows Presentation Foundation (WPF)中的命令(Commands)简述
- Windows Presentation Foundation(WPF)
- Windows Presentation Foundation(WPF)简介
- Windows Presentation Foundation(WPF)中的数据绑定(使用XmlDataProvider作控件绑定之二:使用外部URL的XML文件)
- Pro WPF in C# 2008: Windows Presentation Foundation with .NET 3.5, Second Edition
- 介绍 Windows Presentation Foundation 3D
- WPF(Windows Presentation Foundation)
- WPF(Windows Presentation Foundation)图形系统
- WPF----Windows Presentation Foundation
- Pro WPF with VB 2008: Windows Presentation Foundation with .NET 3.5
- WPF-Windows Presentation Foundation
- Foundations of WPF: An Introduction to Windows Presentation Foundation