<%-- Windows Presentation Foundation ??
*
   ?? (??)

Windows Presentation Foundation ??

???David Chappell
Chappell & Associates

2006 ? 9 ?

????
Windows Vista
Windows Presentation Foundation
Microsoft .NET Framework 3.0

???Windows Presentation Foundation (WPF) ???????????????????????????????????? WPF ???????????????????????????????????????????????????????(?????????????????? 34 ?)

??

???? Windows Presentation Foundation
????
?????Windows Presentation Foundation ???
?? Windows Presentation Foundation
Windows Presentation Foundation ??????
?? Windows Presentation Foundation
Windows Presentation Foundation ???
???????Visual Studio
???????Expression Interactive Designer
Windows Presentation Foundation ???? Microsoft ??
Windows Presentation Foundation ? Windows Form
Windows Presentation Foundation ? Win32/MFC
Windows Presentation Foundation ? Direct3D
Windows Presentation Foundation ? AJAX/"Atlas"
Windows Presentation Foundation ? "WPF/E"
??
????

???? Windows Presentation Foundation

?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? ????????????????????????????????????????????????????????

??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????

Windows Presentation Foundation (WPF) ?????? Windows ??????????WPF ? Microsoft .NET Framework 3.0 ???????????????????????????????????????????? .NET Framework 3.0 ???????????? Windows Vista?Windows XP ? Windows Server 2003???? Windows Vista ???????????? WPF???????????????????????????????? WPF ????????

????

??????????????????????????????????????????????????

  • ??????????????
  • ???????????????????????????????
  • ?????????????????
  • ??????????????????????????????
  • ???????????????????????????????????
  • ??? Windows ???? (?????????) ??????????????????????? (?????????????????)?

?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????

? 2006 ????? Windows ?????????????????????????????????????

  • ?????????????????????????????????????????????????????????????????????
  • ???????????????????????????????????????????????? (?????????????????)?????????????????????????????????????????????
  • ???????????????? Windows ???????????????????????????????????Windows ??????????? Windows Form ??????? Windows ????????????????? HTML ? JavaScript????????????????????????

??????????????????????????????????????????????????????????????????????????????????? WPF ????????????????????

?????Windows Presentation Foundation ???

WPF ????????????????????????????????????????????????????????????????? Windows ???????????????????????????????????????

???????????????????

????? WPF ?????????? Windows ???????????????????????????

Windows Form PDF Windows Form/
GDI+
Windows Media Player Direct3D WPF
????????????? X X
??????? X X
?????? X X
?? X X
????? X X
???? X X
???? X X

?????????? Windows ??????????????????????? Windows Form???? .NET Framework ????????????????Windows Form ???????????????????????? Adobe PDF?????????????????? GDI+???????????????? Windows Form ???????????????????? Windows Media Player????????????? Windows ?? Direct3D?

?????????????????????????????????????????????????????WPF????? WPF ????????????????????????????????????????????????????????????????????

????WPF ??????????????????Windows Form ???????????????????? WPF ???????????????????? Windows Form (???????WPF ??? Windows Form ??????????????)?Windows Media Player ????????????PDF ??????????? Direct3D ???????????????????????? (????WPF ?????? Direct3D ????)?

???WPF ?????????????????????????????????????? WPF ???????????????????????????????????????????

[? 1] WPF ?????????????????????????????

?????????????????????????????? WPF ????????????????????? GDI+ ? Direct3D ?????????????????WPF ?????????????????????????

[? 2] WPF ???????????????????

WPF ????????????????????????????????????????????????????????????????????????????????????

[? 3] WPF ????????????????????????

?????????????????????????????????????????????????????????????????????????????? WPF ???????????????????????????????????????????????????????????????????????????????????????Microsoft ??? XML Paper Specification (XPS)?WPF ????????????? (Application Programming Interface?API)??????????? XPS ???

??????????????????????????????????????????? WPF ??????????????????????? (GPU)?????????????????????????? WPF ??????????????????????????????????????????????????????????? WPF ????????

WPF ????????????????????????????????????????????????????????????WPF ???????????????????WPF ?????? (???????????) ???????????????? Windows ???????????????

?????????????????

??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????

???????????????????? ???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????

?????????WPF ????? eXtensible Application Markup Language (XAML)?XAML ???? XML ?? (?? Button?TextBox?Label ???????)???????????????XAML ????????????????????????????? XAML ????? "No" ????????

<Button Background="Red">
 No
</Button>

?? XAML ?????????? WPF ????????????? (Attribute) ?????????????? (Property) ????????????? C# ???????????????

Button btn = new Button();
btn.Background = Brushes.Red;
btn.Content = "No";

??? XAML ???????????????? (??????)?XAML ??????? ???????????????????????? XML ?????????????? XAML??????????????????????????????????????????????

[? 4] XAML ???????????????

????????? Microsoft Expression Interactive Designer ????????????????????????? WPF ??????????????? XAML ??????? (??????????????????????????????????????????)??????????? XAML ?????? Microsoft Visual Studio ??????????????????????????????????????????????????????????? (????????) ??????????????????????????????????????????????????

???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? WPF ????????????????????? XAML ???????? Electric Rain ? ZAM 3D ??????????????

????????????????????????????????????????????????? WPF ????????????????????????XAML ????????????????????????????

?? Windows ??????????????????

? Windows ?????????????????????? Web ??????????????????????????????????????????????????????????????????????? HTML?????????????????? JavaScript ????????????? JavaScript ? XML (AJAX)??????????????????????? Adobe Flash Player ??????????????????? Web ???????????????????????????????????????????? Web ?????????????

?????????????????????? Windows ????????????????????????????? Windows ??????????????????????????? Windows ????????????????????????????????? ???? Windows ????????????????????????

WPF ???????????????? WPF ??? XAML Browser Application (XBAP)???? Internet Explorer ?????????????????????? WPF ?????? XBAP??????????????????????????? Windows ??????????????????????????????????? (?????? Windows Vista ???????????? Aero ????????????????????????)?

[? 5] ?????????????? WPF ????????

????????? Internet Explorer ?? XBAP ????????

[? 6] ??????????? XBAP ????

????????????? (Framed)??????????????????????????????????????????????????????????????????????????????????????????????WPF ????????????? Windows ????????????????????????????????????????????????????????

???? Windows ?????????????????????????????????????????????????????????? XBAP ?????????????????? (???????)??? Windows ?????????

?? XBAP ??????? Web ??????????? Windows ??????????????????????????XBAP ?? .NET Framework ?????????????????????????????? WPF ? Windows ???? Internet Explorer 6 ????????????????????????????????????????????????? Windows ?????

?? Windows Presentation Foundation

?? WPF ????????????????????????????????????????????? WPF ????????????? Windows ???????XBAP ? XPS ?????????????

Windows Presentation Foundation ??????

?? WPF ?????????????????????????????????????????????????????????????????? WPF ???????????????????

??????

WPF ???? .NET Framework ????????????????????????????? System.Windows ??????????????????????? WPF ??????????????????????? Windows ?????? XBAP???????????? XAML ????????????????

????????????? WPF ??? Application ???????????????????????????????????????????????????????????????? Run ???????? Shutdown?

??? Application ?????? XAML ?? Application ?????????? Application ???????? ( WPF ?????????????????????????? XAML ??)????????? XAML ???

<Application xmlns=   
    "http://schemas.microsoft.com/winfx/2006/xaml/presentation"
              xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
     StartupUri="Page1.xaml"
     x:Class="Example.SimpleApp">
. . . 
</Application>

???????? WPF ????????????????????? XAML ???????? (XAML ?????? WPF ???????????????)???????? StartupUri ???????????????????? XAML ???????????? Class??????????? Application ???????????????WPF ???????? XAML ?? C# ? Visual Basic ?????????????????????????? ?????Application ????????????????????? XAML????????????? Application ????????

????? WPF ???????????????????????????????????????????????????????????????????????????????????????? Windows ?????????????????????????????????????????????????????????????????????????????????????? XAML ??????????????????????????XAML ???????????????? Hyperlink ???? HTML ???????????????????????????????????????????????????????????????????????? Windows ?????XBAP ????????????? Windows ????????????????????????????????????????

??????????????????????????????????WPF ?????????????? Window ??????????????????????????????????????? WPF ?????????NavigationWindow ??????????????????????????????? Window ??????????? Navigate ???????????????????????????????????????????????

????????

WPF ???????? (panel) ??????????????????????????????????????? ???????????????????????????????????????DockPanel ???????????????Grid ???????????????????????????????????????????????????????????? Canvas????????????????????????????

WPF ???????????????????????????????????????????????????? Button?Label?TextBox?ListBox?Menu?Slider ????????????????WPF ?????????????? SpellCheck?PasswordBox ???? Ink (? Tablet PC) ???????????

?????????????????? (???????????) ??? WPF ?????????????????????????????? XAML ???????????????????????????????? Canvas ?????? Button ? XAML ???

<Canvas xmlns=
   "http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    x:Class="Example.CodeForCanvas">
  <Button Click="Button_Click">
   ???
  </Button>
</Canvas>

Canvas ?????????? WPF ? XAML ??????????? XAML ???????? CodeForCanvas ???????????????? .NET Framework ???? Example ????????? Button ???????????????????Button ???????? Click ????????????? Button_Click ????? Click ???????????????

namespace Example {
  public partial class CodeForCanvas : Canvas  {
    void Button_Click(object sender, RoutedEventArgs e)    {
      Button btn = e.Source as Button;
      btn.Background = Brushes.Purple; 
    }
  }
}

????????????????? Canvas ????????CodeForCanvas ????? WPF ?????? Canvas ??????????????????? .NET Framework 2.0 ?????????????????????????????????XAML ??? Canvas ???????????????????????????????????????????????????????????

CodeForCanvas ??????????????? Button_Click ????????????? WPF ??? RoutedEventArgs ??????????????? .NET Framework ????????? Source ??????????????????? Button?????????????????????

?????????????? WPF ??????????????????????????????????????????? Button ? Canvas???????? WPF ?????????????????????????????????????????????????????WPF ??????????????????????????????????????????????????WPF ????????????????WPF ???????????????????????????

?????????????????WPF ????????? (retained mode) ?????????????????????????????????? XAML ????????WPF ????????????????????????????????WPF ?????????????????????????????????????????????????????????????? WPF ???????????????????? WPF ???????????????????????????????????????? (??????????)??????????????????????????????????????

?????

??????????????????????????????????????????????????? (CSS) ????? HTML ??????????WPF ?????????????? ????? CSS ????????????????????????????????????????????????????????????????????

?? WPF ????????? XAML ? Style ??????????????????????????? ButtonStyle ???????????

<Style x:Key="ButtonStyle">
  <Setter Property="Control.Background" Value="Red"/>
  <Setter Property="Control.FontSize" Value="16"/>
</Style>

??????????? Button ????????????? 16 ?????

  <Button Style="{StaticResource ButtonStyle}">
   ???
  </Button>

?????? "StaticResource" ?????WPF ???????? Resource?????????????????????

??????????????????????????????????????????????????????????????????????????????????????????????????????????????

WPF ????? ?????????????????????

  • ????????? XAML ? DataTemplate ???????????????????????????????????????????????????????????????
  • ?????????? XAML ? ControlTemplate ????????????

???????????????????????????????????? WPF ????????????????

??

?????????????????????????????????????????????????????????????????????????????????????????????????????????

WPF ?????????????????????????????????????????????WPF ??????? OpenType ??????????????????????? ClearType ?????????????? (?????????????????????????????)????????????WPF ?????????? Glyphs ????????????? XPS ???????????????????

???????????WPF ?????????????????????????????????????"ffi" ????????????????????????????????????????????????????????????????????????????

??

??????????????????????????????????????????????????????????????????????????????????????????????????WPF ????????????? (Fixed) ????? (Flow) ???

?????????????????????????????????????????????????????????????????????????????WPF ????????? XPS ???????????????????????? XAML ? FixedDocument ?????????????????? PageContent ??????????????????????????????????WPF ?? DocumentViewer ???????????? XPS ????????????????????????????

??????????????????????????????????????????????????????????????????????????????????????????????????? FlowDocument ? XAML ?????????????

  <FlowDocument 
    ColumnWidth="300" 
    IsColumnWidthFlexible="True" 
    IsHyphenationEnabled="True">
      <Paragraph FontSize="12">
       <Bold>?? WPF</Bold>
      </Paragraph>
      <Paragraph FontSize="10">
      WPF ??? .NET Framework 3.0 ????????? 
      ?????????????????????? 
      ???????????????????? 
      ????????? (????????) ? 
      ???? Windows ??????????? 
      ????????
      </Paragraph>
  </FlowDocument>

???????????????? 300 ???? (???????????? ????????????? 1/96 ??)??????????????? IsColumnWidthFlexible ???? True?????????????????WPF ????????????????????????????????????????????WPF ?????????????????????????

????????? IsHyphenationEnabled ???? True????????????????????????????????? Paragraph ??????????????????????????????????????

WPF ??????? FlowDocument ???????????????IsOptimalParagraphEnabled ???? True ??WPF ???????????????????????????????????????????????????????????????????????????? Tablet PC ? Ink ????????????????? ??? Cargo ?????????????????????????? Cargo ???????????

???? FlowDocument?WPF ????????????????

  • FlowDocumentPageViewer????????????????????????????????????????????????????????
  • FlowDocumentScrollViewer???????? FlowDocument ??????????????????
  • FlowDocumentReader??? FlowDocumentPageViewer ? FlowDocumentScrollViewer ???????????????????????????? (??????????) ??????

????????????????????????????????WPF ???????????????????????? Windows ???????????

??

?????????????????????????????????????????? WPF ???????? Image ????????????????????? JPEG ???XAML ???????

<Image 
 Width="200" 
 Source="C:\Documents and Settings\All Users\Documents\
  My Pictures\Ava.jpg" />

????????? 200???????????????????????????????????????? Source ???

?????????????? (????)?????????????????? WPF ??????????????????????????????????????????????????????????????????????? WPF ???????????????

WPF Image ??????????????????? JPEG?BMP?TIFF?GIF ? PNG???????? Windows Vista ???? Microsoft Windows Media Photo (WMPhoto) ??????????????????WPF ??? Windows Imaging Component (WIC) ???????????????????????/??? (??????) ???WIC ?????????????????

?????

?????????????????????????????????????????????????????????WPF ?????????????

???????? MediaElement ???????????? XAML ????????????????

<MediaElement 
 Source="C:\Documents and Settings\All Users\Documents\
  My Videos\Ruby.wmv" /> 

???????? WMV?MPEG?AVI ??????????

????

?? 20 ???? Windows ????????????????????? (GDI) ??????? GDI+????? Windows Form ????????????????????????????????????????????????????????????????? Direct3D ?????????????? WPF?????????????????????????? WPF ??????? XAML ??????????????????? WPF ???????????????????????????????????

WPF ???????????????????????? (Shape)?????

  • ?? (Line)???????????
  • ??? (Ellipse)???????
  • ??? (Rectangle)???????
  • ??? (Polygon)????????????????????
  • ?? (Polyline)????????????????????
  • ???? (Path)?????????????????????????????????????????????????????????????????????????????????

????????????????????????????? XAML ???????????

<Ellipse Width="30" Height="10" Fill="Red" />

?????????????? (Brush)?????????????????????? WPF ???????????????????????????????? (????)?

<Rectangle Width="30" Height="10" 
 Fill="HorizontalGradient Red Yellow" />

???????????????????????????????????????????????????????????? (Pen) ???????????????

?? WPF ????????????????????????????????????????????? Rectangle ???? Image?? Button ??? Ellipse????????????????????????????????????????????

WPF ?????????????????????????????????? (Geometry)???????????????????? Line?Rectangle?Ellipse ? Path ????????????????? LineGeometry?RectangleGeometry?EllipseGeometry ? PathGeometry ???????????????????????????????????????????????????????????????????????????????????? EllipseGeometry ??????????????????????????????????????????????????????????????

???????????????????????????????? ???????????????????????????????????????????????????????????????????? WPF ???????????????

????

????? Windows ???????????? WPF ???????????????????????????????????????????????????????????????????????????????????????????????????????????????WPF ?????????????????????????

???? WPF?? Windows ????????????? Direct3D API?WPF ?????????????? Direct3D???????????????????????????????? Direct3D ??? WPF ????? (??????)??? Microsoft ??????? Windows ????????????????? WPF?

??? WPF ???????????????? Viewport3D ??????????????????????????????????Viewport3D ?????? WPF ????????????????????????

??????????????????????? (Model)?????????????????????????????? XAML????????????????????????WPF ???? GeometryModel3D ????????????????????????????????? (Material) ???????????SpecularMaterial ?????????????DiffuseMaterial ??????

????????????????????DirectionalLight ?????????????AmbientLight ?????????????????????????????????????????? ??? (Camera)??????PerspectiveCamera ?????????????????????OrthographicCamera ??????????????????????????????????

??? XAML ???????????????????????????????????? WPF ??????????????????????????????????????????????????????????????????????????

?????

WPF ??????????????????????????????????????????????????????? XAML ??????? RotateTransform ? ScaleTransform ??????????????????????????????????

</Button>
  <Button Content="???">
   <Button.RenderTransform>
    <RotateTransform Angle="45" />
   </Button.RenderTransform>
  </Button>

RotateTransform ???????? 45 ???????????????????? WPF ????????????????????????????????????????

WPF ????????????????????????????????????? Buttons?ComboBoxes ?????????????????????????????????????????????????????????????????

??

?????????? (??????????)???????????????????????????????????????????????????????????????????????WPF ????????????

?????????????????????????????????????????????????????????????Ellipse ? Height ??????????????????????????????

???????????????????????????????WPF ?? Storyboard ????? Storyboard ??????????? (Timeline)?????????????????????????????????????????????????? (?????????) XAML ????????? Ellipse?

    <Ellipse Width="100" Height="50" Fill="Blue"
     Name="EllipseForSquashing">
     . . . 
     <Storyboard>
      <DoubleAnimation
       Storyboard.TargetName="EllipseForSquashing" 
       Storyboard.TargetProperty="Height"
        From="50" To="25" Duration="0:0:2" />
       </Storyboard>
       . . . 
    </Ellipse>      

???????????? Ellipse???????????????????? Name ??????????? Ellipse ??????????????????????????? XAML ?????Storyboard ????????????? Ellipse ? Height ??? Double ???Storyboard ???? DoubleAnimation ??????????????? Ellipse ????????????????????????Height ???????? 50 ?? 25?

??????????????????????????????????????????????????????? (?????) ???????????????????????????????????????????????

????

??????????????????????????????????????????????????????????????????? WPF ??????????????????????????????? WPF TextBox ????? Text ??????????????????? Employee ?????? Name ?????????????????????????????????????? TextBox ???Employee ??? Name ??????????????

???????????????? WPF Binding ????????????? XAML ???????

<TextBox . . . >
 <TextBox.Text>
  <Binding Path="Name" />
 </TextBox.Text>
</TextBox>

?????Binding ??? Path ??????? TextBox ? Text ????????????????????? (???????) ? Common Language Runtime (CLR) ?????? C# ? Visual Basic ???????????? Path?WPF ????????? CLR ????????????? Binding ? XPath ???????? XML ?????????? XPath ?????? XML ???????????????????

?????????????????????????????????????? IEnumerable ????? CLR ?????? ListBox ???????????????????????????? (????? ADO.NET Dataset ????????? WPF ?????????????????????)??????????????????????????????????????????????

????????

WPF ??????????????????????????????????????????? WPF ?????? (UI) ????????????

????????????????????????????????????? UI ????????????????????????????????????????????????????????????????UI ???????????????????????????????????????????????

?????????WPF ???? UI ?????????????? AutomationElement ??????????????????????????????? Desktop?????????????????????????????????????? WPF ???????? (?????) AutomationElement ???. ???????????????????????????????????????? AutomationElement ???????????????????????????????????????? AutomationElement ???? UI ?????????????????????????? (??????????)???????????????????????????????????

UI ?????? WPF ?????????????????????????????????????????????????????????? ???????????????????????????????

?? Windows Presentation Foundation

WPF ????????????????????????????????????? WPF ?????XBAP ? XPS ???????????????????????

?? WPF ????

???? WPF ???????????????????? WPF ?????????? Windows ????????????????????????????????????? WPF ?????????????????????? WPF ????????????????????? Windows Communication Foundation (WCF)?

??? WPF ??????? Windows ?????????????????????????????? .NET Framework ???? ClickOnce ?????ClickOnce ?? Internet Explorer ?????????? Windows ???? (?? WPF ????)?????????????????????????

XAML ????????XBAP

????? WPF ????????????????????????????????????????????????????????? Windows ???????????????????????????????WPF ???? XBAP?

????? Internet Explorer ??? XBAP?XBAP ??? Web ???? (?? ASP.NET?JavaServer Pages (JSP) ??? Web ???????) ?????XBAP ?? HTTP ? SOAP ??? Web ???????????????????????? ClickOnce ??? XBAP????????????????????????????? XBAP ?????????????[??] ???? [??/????] ?????? XBAP?

[? 7] ? Internet Explorer ???? XBAP

XBAP ???????????????????????????????????????????????????? Web ??? (?????????????)?? Internet Explorer 7 ??XBAP ????????? [???] ? [???] ??????????? XAML ??????????????????? Internet Explorer 6 ??XBAP ???????? [???] ? [???] ??????????????????XBAP ?????????????????????????????????????????

?? XBAP ???????????????? .NET Framework ??????????????????????????????????? WPF ????????XBAP ????????????????????? XBAP ??????????

  • ????????
  • ??????????????
  • ?? XBP ????? [??] ?????
  • ?????????????????
  • ?? UI ???????
  • ?? WCF?WCF ????????????????????? XBAP ?????????????? ASP.NET Web ?? (??? ASMX) ???????? Web ???????
  • ????? Windows Form?Microsoft Foundation Classes (MFC) ???? Win32 ???????????????????? WPF ?????????????????? (??????)????????? XBAP ????????
  • ?? Unmanaged ????

??????????????????? WPF ??????????? XBAP??????????????????????????? XBAP ????????XBAP ???????????????????????????????????????????????????????????????????

?? XBAP ?????? Internet Explorer ?????? XAML ?????????????????????????????????????? XAML (Loose XAML)???????????????????????? XBAP?

XBAP ????????????????????? WPF ???????????????????????????????????????????????? Web ?????????????? Windows ?????????XBAP ?????????

XPS ??

??????? WPF ?????????? XPS ?????????????????????????????? WPF ?? DocumentViewer ?????? XPS ?????????????? WPF ???????????XPS ????? WPF ??????????????????????XPS ???????????????????????????????????????? WPF?? ???????????????????????????? XPS ???? WPF ???

??????? XPS ???? XAML ?????????? XAML ??????????????? Canvas ???????? Glyphs ????????????? Path ??????? XPS ????????? XAML ??????? XPS ?? WPF ????????????

???????XPS ????????????????????????????? Windows Vista ???XPS ??? Windows ????????XPS ????????????? XPS ?????? XPS ???????????????????????????????? XAML ???????????? Windows ??? GDI ????????????? (????????) ??????????

XPS ?????? XAML ???????????? (?????????????? JPEG?PNG?TIFF ? WMPhoto)???????????????????????????? W3C XML Signature ??? X.509 ???? XPS ????????? ?? XPS ???????????????????? Open Packaging Conventions (OPC) ?????????????OPC ??? XML ?? (??? XPS ? XAML ??) ????????????????? ZIP ???????????????Microsoft Office 2007 ????? XML ???? OPC??????????????

?????WPF ???????????? WPF DocumentViewer ?????? XPS ???? Microsoft ?????? DocumentViewer ????????? XPS ???????????????????????????????????????????????????????? XPS ????????? Windows??? Microsoft ???????? (?? Apple Macintosh) ?? XPS ????

[? 8] XPS ???????? XPS ????????????

WPF ?????????? XPS ????????? API ????????? XPS ???WPF ??????? OPC ??????????? XPS ???Office 2007 ????????????????? Microsoft Windows Workflow Foundation ????????????? API ?????? XPS ????????

????????????????????WPF ????????????????????????????????????????Windows Vista ???????????????????????????????????????????????? XPS ???????? WPF ????????????

Windows Presentation Foundation ???

WPF ?????????????????????????????????????????????????????????Microsoft ??? WPF ???????????????????????????????????

???????Visual Studio

Visual Studio ? Microsoft ???????????????WPF ?????Microsoft ?????? Visual Studio 2005 ??????????? WPF ????????? Visual Studio ????Orcas???????????????? Visual Designer for WPF (?????????Cider?)?????????????????????????? WPF ???????????? XAML??? Microsoft ???????? Orcas ??????????? 2007 ????

???????Expression Interactive Designer

?????WPF ???????????????????????????????? XAML????????????????????????????????Microsoft ????? Expression Interactive Designer?

?????????????Expression Interactive Designer ????????????????????????????? Designer ???????? WPF ???????? (????????????????? WPF ????)???????????????? WPF ??????????????????????????????? WPF ??????????????????????????????????????????????????????????????????? XAML ??????????????????????????? Visual Studio?

[? 9] Expression Interactive Designer ??????? WPF ???

Microsoft ? Expression ????????????? Expression Interactive Designer????????? Expression Web Designer (?????????????) ?? Expression Graphic Designer (?????????/???????)???????? Expression Interactive Designer ??????? WPF ????????????????????????????????????? (????? Expression Graphic Designer ?????? GIF ??)?????????? WPF ???????????????????????? Expression ???????? WPF ????????

Windows Presentation Foundation ???? Microsoft ??

WPF ???? Microsoft ??????????? Windows ???????????????:??????? WPF ????????? Windows Form?MFC ???????????? .NET Framework 3.0 ????????????????? WPF ???????????????????????????????????

Windows Presentation Foundation ? Windows Form

?? .NET Framework ?????????????? Windows Form ???????????? WPF?????????????? Windows Form??????????????????????? WPF?????? Windows?????????????? Windows Form ?????????????????????????? (???Windows Form ???????) ??? Windows Form????? WPF?

????? WPF ????????????????? Windows Form ????????????? Windows Form ????? WPF ???? .NET Framework 2.0 ???? DataGridView ??????WPF ???????????????????????????? Windows Form ?????????????? WPF ??????????????????????????WPF ???? Windows Form ?????????????????????? Windows Form ????? WPF ???????????????

????????????WPF ???????? Windows Form ????? Windows Form ???????? WPF ??????????????????? WPF ????? Windows Form ??????????????????????????

WPF ????????? Windows Form ????????? WPF ? WindowsFormsHost ?????????????????? Windows Form ???????????? WPF ????????????????? ActiveX ????? WPF ?????????????????????????????Windows Form ???????? ElementHost???????? WPF ????????????? Windows Form ??????????????????????????????????????WPF ? Visual Designer ?????? Windows Form ????Windows Form ?????????? WPF ????

? WPF ? Windows Form ??????????????????? WPF ????? Windows Form ???????????Windows Form ?????????????? WPF ??????? Windows Form ?????????????WPF ?????? ?????? WindowsFormsHost ? ElementHost ??????????????????? WPF ????????? XBAP???????? Windows ???????? WPF ? Windows Form ?????????

Windows Presentation Foundation ? Win32/MFC

? 2002 ?? .NET Framework ?????Windows ???????????????????????Win32 API ?????? MFC???? API ??? C++ ???????????????????????????? WPF???????????????

????? Windows Form ????????????? Win32/MFC ?????? WPF ??????? WPF ???? Win32/MFC ??? (?????? WPF ? Windows Form ???????????? Win32/MFC ????????????)?WPF ?? HwndHost ?????? WPF ??? Win32/MFC ???????? HwndSource ?????? Win32/MFC ??????? WPF ???????????????????????????HwndHost ?????? Win32/MFC ???? hWnd ?? WPF ????????HwndSource ? WPF ???????? hWnd?

??????????????????? Windows Form ??????????? Windows Form ????????? HwndHost ? HwndSource??????????? Windows Form ????????? Windows Form ??????????????????????????????? Windows Form ????????? WPF ? Win32/MFC ????? WPF Managed ?????? Win32 ? Unmanaged ??????????????????????????? Win32/MFC ???? WPF ????????? XBAP ???????????????Windows ??????? WPF ?? Win32/MFC??? WPF ??????????????????????????

Windows Presentation Foundation ? Direct3D

Direct3D ? Microsoft ?API DirectX ??????????????? Windows ??????????WPF ??????? Direct3D ???????????????????WPF ???? Direct3D ???????????? WPF ???????????????????????????????????

????????????Direct3D ???????????????????????????????????? (??????????????)?? WPF ????????????????????

???WPF ?????????????????????????????? XBAP ??? Web ?????????????????????????????????????????WPF ????????????? HwndHost ????? Direct3D ????WPF ? Direct3D ??????????????????? Windows ??????????

Windows Presentation Foundation ? AJAX/"Atlas"

??????? AJAX ????????????????AJAX ?????????????????????????????? (?????? Web ???????)?????AJAX ?????? XMLHttpRequest ??????????????? 1990 ????? Internet Explorer 5.0???????????? XMLHttpRequest?? AJAX ?????????

????? AJAX ?????????????????Microsoft ????????????Atlas??Atlas ??? AJAX ?????????????????????????????????????????????? (??? Internet Explorer) ? ASP.NET ???????????????????????? AJAX ???? Web ??????????

?? AJAX ???????????????????????????? AJAX ??? Web ????????????????????????????????AJAX ???????????????????????????????? WPF ????????????????????????????? XBAP ????

Windows Presentation Foundation ? "WPF/E"

Web ??????? XBAP????????????? WPF ????? XBAP ???????????? WPF???????????????????????????????? Macintosh ?????? WPF ??????? Web ?????????????

?????????????????????WPF/E?????WPF/E ?? E ???? Everywhere (????)????????????????WPF ??????????? Macintosh?????????????????? Internet Explorer?Firefox ? Netscape????????????????????????????WPF/E ??????? XBAP ???????????????????????

???????? JavaScript ??? WPF/E ?????WPF/E ???? .NET Framework ??????????? C# ? Visual Basic ???????WPF/E ?? .NET Framework 3.0 ?????????? 2007 ???????? Web ?????????????????????????????????????????????????????

??

????????????????????????????????????????????????????????? WPF ????????????????????????????? Windows ??????????WPF ??????

WPF ???????????????????????????????????????????????????????????????????????????? Windows ??????????????????? 20 ?????? Windows ?????????? WPF ???????? 20 ?????????


????

David Chappell ????????? Principal of Chappell & Associates (www.davidchappell.com (??))?????????????????????????????????????????????????????????????????

--%>