WINDOWS PRESENTATION FOUNDATION platforma tworzenia aplikacji okienkowych z bogatą warstwą prezentacji (.NET 3.0 ) rozdzielenie warstwy prezentacji (język.

Slides:



Advertisements
Podobne prezentacje
Rysowanie w Java void drawString(String tekst, pozX, pozY)
Advertisements

20041 Projektowanie dynamicznych witryn internetowych Paweł Górczyński ASP 3.0.
Programowanie Wizualne WYKŁAD 5
Programowanie obiektowe
Generics w .NET 2.0 Łukasz Rzeszot.
Praca z plikami tekstowymi
FLASH - INTERAKCJA Interaktywne dokumenty WWW.
Podstawowe wiadomości
Programowanie obiektowe w Javie
20/09/ Języki programowania 1 Piotr Górczyński Kreator form.
18/11/ Języki programowania 1 Piotr Górczyński Łączenie z bazą danych.
Technologie XML Mgr inż. Michał Jaros Technologie XML wykład 1.
.NET - możliwości Jarosław Balcer & Jan Góralski.
Platforma .Net i Vs.Net.
Tworzenie ASP.NET Web Form
Dokumentowanie wymagań w języku XML
Programowanie w środowiskach zintegrowanych wykład 1 PSZ Programowanie w Środowiskach Zintegrowanych > Systemy i środowiska zintegrowane > Środowisko zintegrowane.
1 Podstawy apletów Co to jest aplet, cykl życia apletu, metody apletu, metoda paint(), czcionki, kolory, parametryzowanie apletu, układ współrzędnych ekranowych,
Malowanie na ekranie- Paint (Paintbrush).
C# Windows Forms Zastosowania Informatyki Wykład 3
Download the latest version at This message wont show up when youre presenting Dodawanie i zarządzanie zawartością
Rozwój aplikacji przy wykorzystaniu ASP.NET
Witold Bołt Wprowadzenie do .NET Witold Bołt
System webowy do tworzenia kolektywnych prototypów aplikacji sieciowych i mobilnych Łukasz Przywarty
Mateusz Antonow. Tekst Obraz Galeria Media Kształty & linie Przyciski & menu Sklep Internetowy Ustawienia Społecznościowe Aplikacje 3. Dodaj.
Microsoft Expression Studio
Czym jest JavaFX? Rich Internet Application
Różne obiekty w prezentacji oraz łącza.
Lokalizacja i Globalizacja na witrynie w Visual Web Developer 2008 (ASP.Net) Daniel Literski.
Tworzenie aplikacji mobilnych
Witold Bołt. Agenda W czym tkwi problem..? Po co jest oprogramowanie? Kim jest użytkownik? Zbieranie danych Co to jest design Współpraca programista-projektant.
Przygotował: Paweł Ziaja
Programowanie Windows na przykładzie C# część 1
Wykonał: Michał Nikołajuk
Model – View – View Model
Robimy własne notatki - Notatnik
Silverlight Marcin Badurowicz
Okienkowy system operacyjny
Technologie Programowania seminarium
Ms Access Formularze i raporty Marzena Nowakowska KIS, WZiMK, PŚk
Wstęp - Prosta aplikacja internetowa w technologii Java EE 5 Programowanie komponentowe 1.
Treści multimedialne - kodowanie, przetwarzanie, prezentacja Odtwarzanie treści multimedialnych Andrzej Majkowski informatyka +
Visual Basic w Excelu - podstawy
Animacje/rożne orientacje slajdów power point 2013
HTML (ang. HyperText Markup Language ) – język do tworzenia stron internetowych opierający się na znacznikach, czy inaczej je nazywając – tagach. Język.
Podstawy programowania (4)
Podstawowe narzędzia programu Paint
Platforma programistyczna  C#(VB) i XAML  Platforma programistyczna  Visual Studio 2010 Express for Windows Phone (Visual Studio 2010)  Windows Phone.
Technologie internetowe Wykład 5 Wprowadzenie do skrytpów serwerowych.
Treści multimedialne - kodowanie, przetwarzanie, prezentacjaOdtwarzanie treści multimedialnych Andrzej Majkowski informatyka +
Technologie internetowe i mobilne
Beata Sanakiewicz. Spis treści  Pierwsze spotkanie Pierwsze spotkanie  Ustawienia witryny Ustawienia witryny  Tło strony Tło strony  Teksty na stronie.
Formatowanie dokumentów
Grafika komputerowa Graphics Image Manipulation Program (GIMP) - zaawansowany edytor grafiki rastrowej za darmo Virtual Reality Modelling Language (VRML)
Waldemar Bartyna 1 Programowanie zaawansowane LINQ to XML.
Jak przestałem się martwić i pokochałem tworzenie aplikacji okienkowych. źródło:
Wykład 4 Dr Aneta Polewko-Klim Dr Aneta Polewko-Klim
Instytut Informatyki UP-H w Siedlcach 1/91 dr Grzegorz Terlikowski WPF/Silverlight.
 Podstawowy składnik.NET Framework  Technologia tworzenia w pełni dynamicznych stron internetowych działających po stronie serwera  Zorientowanie na.
Wykład 4 Dr Aneta Polewko-Klim Dr Aneta Polewko-Klim
Co to jest WPF? Silnik graficzny odpowiedzialny za renderowanie interfejsów (nie tylko!) użytkownika aplikacji dla Windows. Dostępny od.NET 3.0 (2006)
Wykład 4 Dr Aneta Polewko-Klim
Strumienie, Wczytywanie, Zapisywanie, Operacje na plikach
T. 18. E Proces DGA - Działania (operatorka).
Visual Basic for Applications
Visual Basic w programie Microsoft Excel
Wstęp - Prosta aplikacja internetowa w technologii Java EE 5
Windows Workflow Foundation
Aplikacje i usługi internetowe
Zapis prezentacji:

WINDOWS PRESENTATION FOUNDATION platforma tworzenia aplikacji okienkowych z bogatą warstwą prezentacji (.NET 3.0 ) rozdzielenie warstwy prezentacji (język XAML) i warstwy interakcji (język C# ) możliwe przejście do aplikacji pobieranej z serwera internetowego i osadzanej w przeglądarce (XBAP - XAML Browser Application) A. Troelsen, Pro C# 2010 and the.NET 4 Platform, APRESS, 2010 M. MacDonald, Pro WPF in C# 2010: Windows Presentation Foundation in.NET 4.0, APRESS, 2010

podstawowe cechy –– rozbudowane możliwości kształtowania wyglądu i stylu okien ( szablony, czcionki ) –– wiązania danych –– obsługa grafiki 2D i 3D (grafika wektorowa) oraz animacji –– obsługa dokumentów –– współpraca z Windows Forms

podstawowe klasy –– Visual : generacja obrazu okna –– DispatcherObject : obsługa wątków –– Control : klasa bazowa elementów sterujących –– Application : nadzorowanie cyklu życia aplikacji inne główne klasy –– UIElement –– FrameworkElement –– ContentElement –– FrameworkContentElement

przestrzenie nazw using System.Windows; using System.Windows.Controls; using System.Windows.Data; using System.Windows.Documents; using System.Windows.Ink; using System.Windows.Media; using System.Windows.Navigation; using System.Windows.Shapes; FirstWPF

język XAML Extensible Application Markup Language –– dialekt XML –– opis warstwy prezentacji program w języku XAML jest tłumaczony na BAML ( Binary Application Markup Language ) język XAML jest używany w innych narzędziach Expression Design ; Expression Blend ; Kaxaml

aplikacje WPF mogą nie korzystać z XAML // 1 - przybornik + właściwości // 2 - C# System.Windows.Controls.Button btn = new Button(); btn.Content = "Duś"; // 3 - XAML // lub Duś // XAML udostępnia podzbiór możliwości C# NewButton

rozmieszczanie elementów na formie panele ( tylko jeden w danym oknie, ale można zagnieżdżać ) – Canvas // bez narzuconego układu, elementy // pozycjonowane dowolnie względem panelu // Width,Height : Auto // Alignments : Stretch całe okno..... // definicje elementów CanvasPanel

– DockPanel // rozmieszczenie przy krawędziach Lewy1 Lewy2 Góra1 Góra2 Dół1 Prawy1 DockPanel

– Grid // układ tabelaryczny, domyślny // Margin gdy nie ma wypełnić całego pola GridPanel

– StackPanel// układ stosowy Button 1 Button 2 // Width, Height Auto // Alignments Stretch // adaptacja szerokości elementów // między MinWidth a MaxWidth StackPanel

– WrapPanel// stos z przewijaniem // Width, Height Auto // Alignments Stretch WrapPanel

menu, przyciski narzędzi, status

// private void AlfaME(object sender, MouseEventArgs e) { StatText.Text = "Alfa"; } MenuToolbarStatus

elementy sterujące Button, Ellipse, Expander Slider Lists FlowDocument TabControl ButElipExpa Przesuwka Lista F_Dokument Zakładki

wiązanie elementów sterujących // // Wiąz

style System.Window.Style // klasa stylu // dodać do klasy Application // styl nazwany <Style x:Key ="BigGreenButton " TargetType="Button">

// dodać do klasy Window <Button x:Name="btnTestButton" Content="Jestem Stylowy" Cursor="Help" Style="{StaticResource BigGreenButton}" Width="250" />

// style anonimowe, wyzwalacze..... <Trigger Property = "IsFocused" Value = "True"> <Setter Property = "Background " Value = "Yellow"/> Styles

zasoby logiczne statyczne i dynamiczne // dodać plik zasobów ( BGB.xaml ) // Add/Resource Dictionary.....

// uzupełnić klasę Application // utworzyć element stosując Background= // nie można zmienić zasobu "{StaticResource BackgroundGradientBrush}" // lub Background= // można zmienić zasób "{DynamicResource BackgroundGradientBrush}" StatDynRes

zasoby graficzne włączane do pakietu SolutionExplorer / ProjectName / AddFolder Folder / Add Existing Item // doda ć pliki.jpg // // List images = new List (); images.Add(new BitmapImage( new UriKind.Relative))); int currImage = 0; // imageHolder.Source = images[currImage++]; GraphRes

polecenia standardowe // działają od razu <TextBox Name= " TextData " AcceptsReturn ="True" VerticalScrollBarVisibility="Auto " HorizontalScrollBarVisibility="Auto">

// dodać powiązania i obsługę <CommandBinding Command="ApplicationCommands.Open" Executed="OpenCmdExecuted" CanExecute="OpenCmdCanExecute"/>......

// dodać System.IO, Microsoft.Win32 private void OpenCmdCanExecute( object sender, CanExecuteRoutedEventArgs e) { e.CanExecute = true; } // private void OpenCmdExecuted( object sender, ExecutedRoutedEventArgs e) { OpenFileDialog openDlg = new OpenFileDialog(); if (openDlg.ShowDialog() == true) { string dataFromFile = File.ReadAllText(openDlg.FileName); TextData.Text = dataFromFile; }} PoleStand

generowanie obiektów graficznych – kształty ( Windows.Shapes ) proste figury 2D z interakcją – rysowanie i geometrie ( Windows.Media.Drawing ) bardziej złożona grafika raczej bez interakcji – obiekty wizualne ( Windows.Media.Visual ) przetwarzanie dużych ilości danych graficznych ( tylko C# )

Pędzle i pióra DrawingBrush, ImageBrush, LinearGradientBrush, RadialGradientBrush, SolidColorBrush, Pen // //

Shapes : Ellipse, Rectangle, Line, Polygon, Polyline, Path // Shape shapeToRender = new Line() { Stroke = Brushes.Blue, StrokeThickness = 10, X1 = 0, X2 = 50, Y1 = 0, Y2 = 50, StrokeStartLineCap = PenLineCap.Triangle, StrokeEndLineCap = PenLineCap.Round } Figury

Path set of Geometry Objects : LineGeometry, RectangleGeometry, EllipseGeometry,... <EllipseGeometry Center = "75,70" RadiusX = "30" RadiusY = "30" />

<BezierSegment Point1="100,0" Point3="300,100"/>..... // <Path Grid.Row="1" Stroke="Black" StrokeThickness="3" Data="M 10,75 C 70,15 250, ,175 H 240" /> // M – start, C – Bezier, H – linia pozioma,... Ścieżka

Transformacje MatrixTransform, RotateTransform, ScaleTransform, SkewTransform, TranslateTransform ( move ) Trans

Grupowanie i łączenie geometrii // // NonZero // // Intersect, Xor, Exclude DrawGeom

Rysowanie geometria + pędzel + pióro... // custom pen // custom brush... Draw

Obiekty wizualne i efekty DrawingVisual visual = new DrawingVisual(); DrawingContext dc = visual.RenderOpen(); // dc.DrawLine(), dc.DrawRectangle(), // dc.DrawRoundedRectangle(), dc.DrawText(), // dc.DrawEllipse() dc.Close(); // public class DrawingCanvas : Panel { private List visuals = new List (); public void AddVisual(Visual visual) { visuals.Add(visual); base.AddVisualChild(visual); base.AddLogicalChild(visual); } }

Blur DropShadow Basic dropshadow

DropShadow public class CustomEffect : ShaderEffect { public CustomEffect() { Uri pixelShaderUri = new Uri("Effect.ps", UriKind.Relative); PixelShader = new PixelShader(); PixelShader.UriSource = pixelShaderUri; } } VisusEfe

animacja using System.Windows.Media.Animation; ­ DataTypeAnimation ByteAnimation, ColorAnimation, DoubleAnimation, In32Animation,... ­ DataTypeAnimationUsingKeyFrames StringAnimationUsingKeyFrames, DoubleAnimationUsingKeyFrames, PointAnimationUsingKeyFrames,... ­ DataTypeAnimationUsingPath DoubleAnimationUsingPath, PointAnimationUsingPath,... Ani_1 Ani_2