ADO.NET to zestaw klas umożliwiających odczyt i obróbkę danych z różnych źródeł zgodny z platformą.net i posiadający wszystkie jej cechy:



Podobne dokumenty
Log. Ponieważ usługa ma ograniczony interfejs użytkownika, powinna posługiwać się LOG iem Dodajemy do projektu obiekt EventLog

Architektura ADO.NET Dostawcy danych Modele dostępu do danych model połączeniowy Model bezpołączeniowy

4 Web Forms i ASP.NET Web Forms Programowanie Web Forms Możliwości Web Forms Przetwarzanie Web Forms...152

Wykład 4. Architektura ADO.NET Dostawcy danych Modele dostępu do danych model połączeniowy Model bezpołączeniowy. Bazy danych 2

Dotacje na innowacje. Inwestujemy w waszą przyszłość.

Politechnika Poznańska, Instytut Informatyki, TWO/GE. Programowanie dla ios

Podstawy programowania. Wprowadzenie

Platformy programistyczne:.net i Java WYKŁ AD 3: WPROWADZENIE DO PL ATFORMY.NET / JĘZYK C#

Informatyka I. Standard JDBC Programowanie aplikacji bazodanowych w języku Java

Bazy danych 2. Wykład 6

Informatyka I. Programowanie aplikacji bazodanowych w języku Java. Standard JDBC.

Tworzenie aplikacji Web Alicja Zwiewka. Page 1

ZAPOZNANIE SIĘ ZE SPOSOBEM PRZECHOWYWANIA

Programowanie Komponentowe WebAPI

OpenLaszlo. OpenLaszlo

VISUAL STUDIO 2008 I.NET 3.5 NOWOŚCI. Bartłomiej Filipek

Oracle Application Express -

ADO.NET. Obiektowy dostęp do danych. Przygotował Jakub Światły

PRZYJĘTE ZASADY GRY...3 ZAŁOŻENIA PROJEKTU...4 CZYM JEST I DLACZEGO QT?...5 DIAGRAM KLAS...7 DIAGRAM GRY SINGLE PLAYER...8 DIAGRAM MULTIPLAYERA...

Szczegółowy opis zamówienia:

Programowanie obiektowe

Database Connectivity

Typy przetwarzania. Przetwarzanie zcentralizowane. Przetwarzanie rozproszone

PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL III TI 4 godziny tygodniowo (4x30 tygodni =120 godzin ),

JavaFX. Technologie Biznesu Elektronicznego. Wydział Informatyki i Zarządzania Politechnika Wrocławska

PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL IV TI 6 godziny tygodniowo (6x15 tygodni =90 godzin ),

ASP.NET MVC. Grzegorz Caban 20 stycznia 2009

Zacznij Tu! Poznaj Microsoft Visual Basic. Michael Halvorson. Przekład: Joanna Zatorska

Projektowanie, tworzenie aplikacji mobilnych na platformie Android

Programowanie dla ios

Instrukcja laboratoryjna cz.3

Wspomaganie pracy w terenie za pomocą technologii BlackBerry MDS. (c) 2008 Grupa SPOT SJ

PROGRAM NAUCZANIA DLA ZAWODU TECHNIK INFORMATYK, O STRUKTURZE PRZEDMIOTOWEJ

Wybrane działy Informatyki Stosowanej

Programowanie obiektowe

Wprowadzenie do SAS. Wprowadzenie. Historia SAS. Struktura SAS 8. Interfejs: SAS Explorer. Interfejs. Część I: Łagodny wstęp do SAS Rafał Latkowski

TOPIT Załącznik nr 3 Programowanie aplikacji internetowych

MVVM i XAML w Visual Studio 2015 / Jacek Matulewski. Gliwice, cop Spis treści

z użyciem kontrolek ASP.NET

Dokumentacja systemu NTP rekrut. Autor: Sławomir Miller

Programowanie obiektowe i zdarzeniowe wykład 1 Wprowadzenie do programowania zdarzeniowego

Wybrane działy Informatyki Stosowanej

Windows XP. Procesor Pentium II/AMD 233 MHz lub szybszy

Opis. Wykład: 30 Laboratorium: 30

IBM SPSS Statistics Wersja 22. Linux - Instrukcja instalacji (licencja wielokrotna)

Bazy danych i strony WWW

Komunikacja i wymiana danych

Instrukcja laboratoryjna cz.6

Wymagane jest podłączenie serwera do Internetu (konieczne do zdalnego dostępu).

Wprowadzenie. 1. Terminal WebRTC. LABORATORIUM 5: WebRTC komunikacja między terminalami.

Narzędzia i platformy programowania w Internecie

WPF 4.5 : księga eksperta / Adam Nathan. Gliwice, cop Spis treści

Pliki zorganizowano w strukturze drzewiastej odzwierciedlając strukturę logiczną aplikacji:

Studia podyplomowe. Programowanie na platformie Microsoft Visual Studio.NET

Wykład V. Rzut okiem na języki programowania. Studia Podyplomowe INFORMATYKA Podstawy Informatyki

1 TEMAT LEKCJI: 2 CELE LEKCJI: 3 METODY NAUCZANIA 4 ŚRODKI DYDAKTYCZNE. Scenariusz lekcji. 2.1 Wiadomości: 2.2 Umiejętności: Scenariusz lekcji

Tomasz Grześ. Systemy zarządzania treścią

Plan. Formularz i jego typy. Tworzenie formularza. Co to jest formularz? Typy formularzy Tworzenie prostego formularza Budowa prostego formularza

Bazodanowe usługi sieciowe w technologii ASP.NET. dr inż. Tomasz Tatoń

Wybrane działy Informatyki Stosowanej

Przygotowanie do nowoczesnego programowania po stronie przeglądarki. (HTML5, CSS3, JS, wzorce, architektura, narzędzia)

Warstwa integracji. wg. D.Alur, J.Crupi, D. Malks, Core J2EE. Wzorce projektowe.

EXSO-CORE - specyfikacja

dziennik Instrukcja obsługi

Instalacja SQL Server Konfiguracja SQL Server Logowanie - opcje SQL Server Management Studio. Microsoft Access Oracle Sybase DB2 MySQL

Technologia informacyjna

Tworzenie witryn internetowych PHP/Java. (mgr inż. Marek Downar)

1 Wprowadzenie do J2EE

To sposób w jaki użytkownik wchodzi w interakcje z systemem. Środowisko graficzne używa kombinacji graficznych elementów(przyciski, okna, menu) i

Plan. Wprowadzenie. Co to jest APEX? Wprowadzenie. Administracja obszarem roboczym

Leonard G. Lobel Eric D. Boyd. Azure SQL Database Krok po kroku. Microsoft. Przekład: Marek Włodarz. APN Promise, Warszawa 2014

Paweł Rajba

Rok akademicki: 2012/2013 Kod: ZIE s Punkty ECTS: 3. Poziom studiów: Studia I stopnia Forma i tryb studiów: -

LK1: Wprowadzenie do MS Access Zakładanie bazy danych i tworzenie interfejsu użytkownika

Instrukcja instalacji i obsługi programu Szpieg 3

Platformy programistyczne:.net i Java WYKŁ AD 3: WPROWADZENIE DO PL ATFORMY.NET / JĘZYK C#

Języki i paradygmaty programowania doc. dr inż. Tadeusz Jeleniewski

Rys. 3. Kod elementów na stronie po dodaniu kontrolek podstawowych.

ERDAS ADE Suite edytor baz danych Oracle Spatial

Wybrane działy Informatyki Stosowanej

Windows Mobile. Andy Wigley, Daniel Moth, Peter Foot, Microsoft Mobile Development Handbook, Microsoft Press 2007

Programowanie dla ios

Programowanie obiektowe i zdarzeniowe wykład 4 Kompozycja, kolekcje, wiązanie danych

Materiały do laboratorium MS ACCESS BASIC

System zarządzania firmą specyfikacja techniczna.

Specyfikacja API Runtime BAS 3.0

SYSTEM SCADA DO OCHRONY KATODOWEJ SCADA SYSTEM FOR CATHODIC PROTECTION

Jarosław Kuchta Administrowanie Systemami Komputerowymi. Internetowe Usługi Informacyjne

Szpieg 2.0 Instrukcja użytkownika

Aplikacje w środowisku VBA. Visual Basic for Aplications

Cechy systemu X Window: otwartość niezależność od producentów i od sprzętu, dostępny kod źródłowy; architektura klient-serwer;

METODY URUCHAMIANIA PROGRAMÓW JĘZYKA AutoLISP W ŚRODOWISKU AutoCAD

Podstawy Rejestru systemu. Poddrzewa

Instrukcja użytkownika

Wybrane działy Informatyki Stosowanej

IBM SPSS Statistics Version 22. Windows - Instrukcja instalacji (licencja wielokrotna)

Platforma.NET laboratorium 4 Aktualizacja: 15/11/2013. Visual Basic.NET dostęp do bazy danych. Baza Microsoft SQL Server Compact

System. Instalacja bazy danych MySQL. Autor : Piotr Zielonka tel Piotrków Tryb., sierpień 2018r.

Konfiguracja modułu alarmowania w oprogramowaniu InTouch 7.11

Transkrypt:

ADO.NET

Historia Biblioteki specjalizowane. ODBC (Open Database Connectivity) języki niskiego poziomu C++. DAO (Data Access Objects) Visual Basic 3. RDO (Remote Data Objects) Visual Basic 4 Enterprise opakowane ODBC. OLE DB podobne do ODBC z interfejsem COM. ADO (ActiveX Data Objects) OLE DB dostosowane dla języków wysokiego poziomu.

ADO.NET to zestaw klas umożliwiających odczyt i obróbkę danych z różnych źródeł zgodny z platformą.net i posiadający wszystkie jej cechy: wielojęzyczność, zarządzany kod, garbage-collection, kompilator JIT, model w pełni obiektowy.

ADO.NET ActiveX Data Objects.NET Następca ADO (ActiveX Data Objects) Celem ADO.NET jest abstrakcja różnych źródeł danych ADO.NET jest oparte na XML u. ADO.NET jest oparte na trybie bezpołączenia (connection-less)

Przestrzenie nazw System.Data podstawowe klasy System.Data.Common klasy współdzielone przez różne modele dostępu do danych System.Data.OleDb klasy dostępu do różnych baz danych System.Data.SqlClient klasy specjalizowane dla SQL Server System.Data.ODBC klasy specjalizowany pod bazy danych łączone przez ODBC System.Data.SqlTypes klasy z typami danych optymalizowanymi dla SQL Server

Dostawcy danych Dane są dostarczane przez klasy będące dostawcami (providers) Dostępni są dostawcy dla: OLE DB, SQL Server, ODBC, MySQL, ORACLE,.

Dostawcy danych Dostawca danych DataProvider Połączenie Connection Źródło danych Polecenie Command Czytnik danych DataReader Adapter danych DataAdapter

Podstawowe klasy Connection klasa odpowiedzialna za połączenie z bazą danych Command wykorzystywane do wywoływania poleceń dla źródła danych DataReader zbiór danych typu read-only DataAdapter odpowiada za wczytanie danych i ich aktualizację W zależności od dostawcy danych klasy te mają inną implementację.

Connection Podobna do klasy w klasycznym ADO. Zawiera informacje o połączeniu z bazą danych w postaci łańcucha połączenia (connection string). Określa źródło danych, nazwę użytkownika i hasło oraz inne parametry połączenia. Zawiera metody obsługujące połączenie i transakcje.

Command Klasa polecenia jest też podobna do poprzedniczki w ADO. Przechowuje informacje dotyczące poleceń, które mogą być wykonywane, np. w postaci poleceń SQL. Polecenia SQL mogą być parametryzowane. Można się też odwoływać do procedur zapisanych w bazie danych (stored procedures).

DataReader Służy tylko do odczytu danych i to tylko sekwencyjnie nie ma możliwości nawigowania w zbiorze danych. Zaletą jest szybkość działania. Wymaga aktywnego połączenia.

DataAdapter Stanowi łącznik pomiędzy odłączonym źródłem danych i zbiorem danych. Między innymi składają się na niego polecenia umożliwiające pobranie danych, uaktualnienie danych, dodanie danych i ich usunięcie. Jeżeli adapter nie zawiera któregoś z tych poleceń, próba np. aktualizacji danych spowoduje błąd (zostanie zgłoszony wyjątek).

DataAdapter Adapter SELECT Polecenie SQL INSERT Polecenie SQL UPDATE Polecenie SQL DELETE Polecenie SQL

DataSet zbiór danych, jest zawsze rozłączony (disconnected), nie jest zależny od źródła danych (baza danych, dokument XML, plik tekstowy), wymaga pośrednictwa adaptera, może zawierać wiele tabel (relacji), zawiera informacje o powiązaniach.

DataSet Źródło danych Provider DataAdapter DataSet

Przykład

DataSet Zbiór danych DataSet Kolekcja tablic Tables Tablica DataTable Kolekcja kolumn Columns Kolekcja wierszy Rows Kolumna DataColumn Wiersz DataRow

Przykład Do takiego zastosowania należałoby raczej użyć obiektu DataReader.

Uaktualnienie danych

Obsługa XML Dane ze zbioru danych można zapisać do pliku XML Zbiór danych można wczytać z dobrze sformułowanego pliku XML

Zbiory danych z typem Można definiować zbiory danych (DataSet) dostosowane do konkretnych relacji. Wykorzystywany jest mechanizm XML Schema. Odpowiednia klasa jest generowana automatycznie. Ułatwia pisanie programu w inteligentnym środowisku.

Zbiory danych z typem Zbiór danych jest opisywany za pomocą XML Schema Definition (XSD) Automatyczne generowanie XSD

XSD

XSD Po wydaniu polecenia: xsd Employees.xsd /d otrzymamy plik CS zawierający klasę reprezentującą zbiór danych z typem.

Zbiory danych z typem

Typowany DataAdapter Może mieć wiele metod typu Fill lub Get Metody mogą być parametryzowane

DataReader DataReader służy do odczytu kolejnych rekordów, tworzony jest przez obiekt klasy Command, automatycznie przechodzi do kolejnego wiersza, zaczyna w stanie BOF.

DataReader

Zdarzenia Klasy ADO.NET generują zdarzenia. W kodzie można dodać metody zajmujące się obsługą tych zdarzeń.

DataView Reprezentuje różne widoki na dane. Można ograniczyć dostęp do danych.

Wywoływanie poleceń SQL Można za pomocą klasy Command wywołać dowolne polecenie SQL, nie będące kwerendą.

Windows Forms i ADO.NET Większość kontrolek w Windows Forms może zostać skojarzona ze zbiorem danych (DataSet). Bardzo interesująca jest kontrolka DataGrid umożliwiająca edycję danych w postaci arkusza; można ją wykorzystać w oderwaniu od fizycznej bazy danych.

DataGrid

DataGrid

DataGrid

Windows Presentation Foundation

Dotychczasowe technologie w.net 2.0 Funkcjonalność Formularze i kontrolki Grafika 2D Grafika 3D Strumienie wideo Technologia Windows Forms GDI+ DirectX Windows Media Player

.Net 3.0 Funkcjonalność Formularze i kontrolki Grafika 2D Grafika 3D Strumienie wideo Technologia WPF WPF WPF WPF

Windows Presentation Foundation Jest to nowy zbiór funkcji API do tworzenia aplikacji desktopowych integrujący wiele technologii w jednym modelu obiektowym i umożliwiający separację wartswy prezentacji i kodu.

Podstawowe usługi zbiór obiektów rozmieszczających elementy na obszarze (np. kontrolki w formularzu), rozszerzony silnik powiązań z danymi, wbudowany mechanizm stylów umożliwiający tworzenie skórek w aplikacjach

Podstawowe usługi wykorzystanie grafiki wektorowej umożliwiające skalowanie interfejsu aplikacji wspomaganie dla grafiki 2D, 3D, animacji, odtwarzania wideo i dźwięku, bogate API typograficzne, np. dla dokumentów XPS, możliwość współpracy ze starszymi technologiami

Rodzaje aplikacji WPF zwykła aplikacja desktopowa, aplikacja oparta na nawigacji aplikacja desktopowa zachowująca się podobnie jak przeglądarka WWW aplikacja typu XBAP uruchamiana w środowisku przeglądarki

Silverlight technologia pokrewna do WPF umożliwia tworzenie wieloplatformowych aplikacji (Windows, Mac OS X,...) można korzystać z podzbioru klas.net i części technologii WPF

Najważniejsze pakiety PresentationCore Odpowiedzialny za klasy tworzące interfejs użytkownika PresentationFoundation Kontrolki, dodatkowe typy odpowiedzialne za animację, media, dostęp do danych, dostęp do XAML WindowsBase API niższej warstwy, wątki, bezpieczeństwo, konwersja typów, prymitywy

Przestrzenie nazw System.Windows System.Windows.Controls System.Windows.Markup System.Windows.Media System.Windows.Navigation System.Windows.Shapes

Klasa Application najistotniejsze właściwości: Current - dostęp do obiektu klasy z dowolnego miejsca kodu MainWindow - umożliwia pobranie bądź ustawienie głównego okna aplikacji Properties - rodzaj zmiennych globalnych aplikacji StartupUri - strona bądź okno, które ma być otwarte przy starcie aplikacji Windows - kolekcja wszystkich okien należących do aplikacji

Klasa Windows reprezentuje dowolne okno należące do aplikacji (także dialogi)

Program w WPF Projekt w VisualStudio Przestrzenie nazw

Program w WPF Klasa aplikacji

Program w WPF Klasa głównego okna

Program w WPF Działający program

XAML Extensible Application Markup Language Język opisu wyglądu aplikacji oparty na XML [zæ:mɛl] ściśle powiązany z WPF, choć można się bez niego obyć XAML w momencie kompilacji jest zapisywany w postaci binarnej BAML aplikację można stworzyć tylko w XAML

Aplikacja w XAML Opis aplikacji

Aplikacja w XAML Opis okna

Aplikacja w XAML Projekt okna w VisualStudio

Rozdzielenie kodu i projektu interfejsu WPF sugeruje oddzielenie wartstwy projektu interfejsu od kodu XAML opisuje interfejs kod w C# (lub inny) definiuje logikę aplikacji

Separacja kodu i interfejsu interfejs projektuje grafik np. Microsoft Expression Blend logikę biznesową tworzy programista interfejs jest niezależny od rozdzielczości ekranu (resolution independent)

Aplikacja CS i XAML Opis aplikacji

Aplikacja CS i XAML Kod aplikacji

Aplikacja CS i XAML Opis okna

Aplikacja CS i XAML Kod okna

Visual Studio 2008 Typowy projekt w VS2008

Proces kompilacji

Kontrolki WPF

Kontrolki WPF Podobne do kontrolek Windows Forms Właściwości definiowane w XAML Ważną rolę pełnią kontrolki odpowiedzialne za rozmieszczanie innych (layout managers)

Obsługa komunikatów inny niż w Windows Forms komunikat jest iterowany przez wszystkie obiekty w poszukiwaniu odpowiedniej procedury obsługi (handler) różne strategie przesyłania komunikatów

Grafika 2D to WPF zapewnia właściwe odświeżanie grafiki na ekranie System.Windows.Shapes System.Windows.Media.Drawing System.Windows.Media.Visual możliwość tworzenia animacji

SILVERLIGHT

Co to jest Silverlight? Technologia tworzenia bogatych (rich) aplikacji webowych W założeniu wielosystemowa Konkurencja dla Adobe Flash Wywodzi się z Windows Presentation Foundation

Historia Silverlight Wersja 1.0 - grudzień 2006 r. Windows Presentation Foundation/Everywhere Składała się z: obsługa wejścia (klawiatura, mysz,...) UI core - obsługa grafiki rastrowej i wektorowej Media - odtwarzanie mediów XAML - projekt interfejsu użytkownika Kod skryptowy w JavaScript Obsługa XML i JSON

Historia Silverlight wersja 2.0 - Beta marzec 2008, RTW 14.10.2008 dodano: obsługę języków.net uproszczoną bibliotekę bazową klas CoreCLR (Common Language Runtime) obsługę DeepZoom Dynamic Language Runtime poprawioną obsługę mediów

Historia Silverlight wersja 3.0 - beta 18 marzec 2009, końcowa 9.7.2009 dodano: nowe kontrolki, poprawiono obsługę mediów, poprawiono wsparcie dla animacji i obsługę UI umożliwiono instalację aplikacji poza przeglądarką dostęp do lokalnych plików

Historia Silverlight wersja 4.0 - beta 18 listopada 2009, finalna 15 kwietnia 2010 dodano: wsparcie dla drukowania nowe kontrolki poprawiono wsparcie dla lokalizacji aplikacji obsługa kamer, aparatów i mikrofonu wsparcie dla multicast,...

Historia Silverlight Aktualna wersja 5.0, 9 grudnia 2011 wsparcie dla akceleracji GPU grafika 3D wsparcie dla 64-bitów

Architektura Dane: LINQ Kolekcje Generics Biblioteka bazowa klas Sieć: Web Service Http Request CLR SILVERLIGHT WPF: Control Media UI DLR języki dynamiczne: Python Ruby VBx Jscript Silnik kodu zarządzanego UI Core grafika animacje obrazy tekst Wejście Kontrolki Media DRM Silnik obsługi JavaScript Presentation Core XAML Przeglądarka warstwa sieciowa DOM Skrypty

Kompatybilność Stan na listopad 2010: Windows XP - IE6,7,8, FireFox, Safari, Chrome, Opera* MacOS X 10.4 (Intel) - Safari, FireFox, Chrome* Windows Phone 7 Planowane Nokia Symbian Series 60, Series 40 Linux - projekt Mono Moonlight *nieoficjalnie

Kompatybilność FireFox Windows IE Windows Safari Mac OS FireFox Mac OS

Narzędzia Visual Studio 2010 lub Visual Web Developer 2010 Zainstalowane SilverlightTools for Visual Studio opcjonalnie: Expression Blend 4 Silverlight Toolkit (dodatkowe kontrolki) Deep Zoom Composer

Funkcjonalność bibliotek kolekcje mechanizm refleksji wyrażenia regularne dostęp do danych LINQ obsługa XML, RSS, JSON

Zdalne wywołania Web Services REST Windows Communication Foundation Services ADO.Net Services

Tworzenie projektu

Tworzenie projektu

Pusty projekt

Pusta aplikacja Opis strony w XAML

Pusta aplikacja Kod aplikacji w C#

Pusta aplikacja

Pusta aplikacja Kod strony w C#

Kontrolki XAML Kontrolki wbudowane

Kontrolki XAML Po zainstalowaniu ToolKit u

Przykład Opis XAML Kod strony Efekt końcowy

Bezpieczeństwo Aplikacje Silverlight działają w obszarze ograniczonego zaufania (sandbox): można otwierać pliki lokalne (tylko przez dialog) od wersji 3 może zapisywać w systemie plików można przechowywać dane w Isolated Storage socket y mogą tylko inicjować połączenia w wersji 4 aplikacje OOB mogą być uznane za zaufane

Wczytanie z pliku

Wczytanie z pliku

Wczytanie z pliku

Isolatad Storage katalog w profilu użytkownika współdzielony przez wszystkie aplikacje identyfikowane poprzez URL aplikacji domyślny limit 1MB na URL niezależne od przeglądarki

Zapis do pliku

Odczyt z pliku

Zwiększenie pojemności

Zapis do pliku w FS

Zapis do pliku w FS

Aplikacje poza przeglądarką Aplikacje można zapisać lokalnie i korzystać jak z aplikacji desktopowej Należy odpowiednio ustawić opcje

Aplikacje poza przeglądarką

Animacja Animacje można tworzyć modyfikując własności elementów, np. przezroczystość Definicja animacji w XAML

Animacja Uruchomienie animacji

Animacja koloru

Animacja koloru

Sterowanie animacją

Sterowanie animacją

Sterowanie animacją

Multimedia Element Media

Obrazy Element Image Nałożenie obrazu na tekst

Obrazy Opcje skalowania Stosowanie maski

Obrazy Maska gradientowa

Technologia Deep Zoom umożliwia przeglądanie obrazów w wysokiej rozdzielczości minimalizując ilość przesłanych danych pochodzi od technologii Live Labs Photosynth do tworzenia obrazów konieczne jest użycie Deep Zoom Composer (tylko Windows) Seadragon - aplikacja dla iphone korzystająca z tej technologii

Deep zoom

Deep zoom Osadzenie obrazu Obraz z zoomowaniem

Deep zoom

Powiązanie z danymi Klasa z danymi

Powiązanie z danymi XAML Konstruktor strony

Powiązanie z danymi Efekt

Powiązanie z kolekcją XAML Kod strony

Powiązanie z kolekcją Efekt

Wykresy Elementy z Silverlight Toolkit XAML

Wykresy

Wykresy

Drukowanie od wersji 4.0 klasa PrintDocument można drukować fragment XAML a drukowanie na zasadzie bitmapy