1
foreach( fejlesztő in Lurdyház ) { fejlesztő.Agy. Delete If( delegate ( Content c ) { return c.ContainsAny( „Win32 / User32.dll”, „GDI”,„GDI+”,„WindowsForms”, „MFC” ); } ); fejlesztő.Agy. Reload If( delegate ( Content c ) { return c.ContainsAny( „HTML”, „DHTML”, „OO”, „.NET” ); } ); } foreach( fejlesztő in Lurdyház ) { fejlesztő.Agy. Delete If( delegate ( Content c ) { return c.ContainsAny( „Win32 / User32.dll”, „GDI”,„GDI+”,„WindowsForms”, „MFC” ); } ); fejlesztő.Agy. Reload If( delegate ( Content c ) { return c.ContainsAny( „HTML”, „DHTML”, „OO”, „.NET” ); } ); }
11
Mi a Vista ? A Vista? Jaa, a Longhorn, amelyik sose jelenik meg ? Tudom már ! Az új Windows a forgó, 3 dimenziós ablakokkal ! Ilyen a Vista? Azt hittem szebb lesz Mi lett 3D ? A Vista tényleg DirectX-ben van írva ? Ezek tényleg teljesen 3 dimenziós gombok ? Mi a WPF ? Az Aero az Avalonra épül ? Az Avalon az Aero kódneve, vagy fordítva ? Az Explorert WPF-ben írták ? Mi a.NET 3.0 ? Tudom még natív kódból programozni a Vista-t ? És a WPF-et ? Benne van a C# 3.0 is? DLinq? Új a CLR is ?
XAML - BAML LogicalTree UIElement Visual, Media channel, Grafikus primitívek Háromszögek, Textúrák BAML - LogicalTree
CompNode ListBox Button ScrollViewer StackPanel Transport UI Thread (alkalmazás) Render Thread (milcore.dll) Logical Tree
25
double p1 = 232; double p2 = p1; p1 += 5.2; p2 += 10.4; Console.WriteLine( p2 == p1 ); Console.WriteLine( "{0:R}\n{1:R}", p1, p2 ); double p1 = 232; double p2 = p1; p1 += 5.2; p2 += 10.4; Console.WriteLine( p2 == p1 ); Console.WriteLine( "{0:R}\n{1:R}", p1, p2 ); static class DoubleUtil { public static bool AreClose( double value1, double value2 ) { if( value1 == value2 ) return true; if( value1 == value2 ) return true; double num1 = ( ( Math.Abs( value1 ) + Math.Abs( value2 ) ) + 10 ) * 2.220E-16; double num1 = ( ( Math.Abs( value1 ) + Math.Abs( value2 ) ) + 10 ) * 2.220E-16; double num2 = value1 - value2; double num2 = value1 - value2; if( -num1 < num2 ) if( -num1 < num2 ) return ( num1 > num2 ); return ( num1 > num2 ); return false; return false; } … } static class DoubleUtil { public static bool AreClose( double value1, double value2 ) { if( value1 == value2 ) return true; if( value1 == value2 ) return true; double num1 = ( ( Math.Abs( value1 ) + Math.Abs( value2 ) ) + 10 ) * 2.220E-16; double num1 = ( ( Math.Abs( value1 ) + Math.Abs( value2 ) ) + 10 ) * 2.220E-16; double num2 = value1 - value2; double num2 = value1 - value2; if( -num1 < num2 ) if( -num1 < num2 ) return ( num1 > num2 ); return ( num1 > num2 ); return false; return false; } … }
Button Window StackPanel TextBox
14 14 alma alma … …
Binding Target Binding Source Dependency Object Object Dependency Property Property TwoWay OneWay OneWayToSource • Kétirányú konverzió • Adat validálás • UpdateTrigger • LostFocus • PropertyChanged • Explicit • Szinkron / aszinkron
… … … …
… … … …
47
public static readonly DependencyProperty BackgroundProperty = DependencyProperty.Register(„Background”, typeof( Brush ), typeof( Control ), … FrameworkPropertyMetadataOptions.AffectsRender, …Brushes.White, … validationCallback ) ); … public Brush Background { get { return (Brush)this.GetValue( BackgroundProperty ); } } public static readonly DependencyProperty BackgroundProperty = DependencyProperty.Register(„Background”, typeof( Brush ), typeof( Control ), … FrameworkPropertyMetadataOptions.AffectsRender, …Brushes.White, … validationCallback ) ); … public Brush Background { get { return (Brush)this.GetValue( BackgroundProperty ); } }
DockProperty = DependencyProperty.RegisterAttached( … ); DockPanel.SetDock( uiElement, Dock.Left ); DockPanel.SetDock( uiElement, Dock.Left ); = uiElement.SetValue( DockPanel.DockProperty, Dock.Left ); DockProperty = DependencyProperty.RegisterAttached( … ); DockPanel.SetDock( uiElement, Dock.Left ); DockPanel.SetDock( uiElement, Dock.Left ); = uiElement.SetValue( DockPanel.DockProperty, Dock.Left );
Application Services Deployment Services Databinding USER INTERFACE SERVICES XAML Accessibility Property System Input & Eventing BASE SERVICES DOCUMENT SERVICES Packaging Services XPS Documents Animation 2D 3D AudioImaging Text VideoEffects Composition Engine MEDIA INTEGRATION LAYER Controls Layout … és a WPF-E !
57
58
59
60
61
© 2006 Microsoft Corporation. Minden jog fenntartva. Az előadás csupán tájékoztató jellegű, a Microsoft Magyarország a benne szereplő esetleges hibákért vagy tévedésekért semmilyen felelősséget nem vállal.