Przewodnik krok po kroku:

Podobne dokumenty
Rozwój aplikacji modułowych Paweł Brudnicki. Dodanie modułu

xmlns:prism= c. <ContentControl prism:regionmanager.regionname="mainregion" />

Programowanie obiektowe i zdarzeniowe

Aby nadać jej pożądaną postać należy w pliku Window1.xaml stworzyć definicję swojego stylu modyfikując ręcznie postać zapisu XAML:

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

MVVM Light Toolkit Przewodnik krok po kroku

Logger. Następnie w klasie Bootstrapper muimy zarejestrować nasz nowy logger:

Programownie w technologii.net wykład 6 Element Binding i Data Binding

Budowa aplikacji w technologii.net wykład 7 konwersja, walidacja, szablony, widoki

Projektowanie obiektowe oprogramowania Wykład 7 wzorce czynnościowe (2) Wiktor Zychla 2018

1. Wprowadzenie do WPF i XAML. Tworzenie interfejsu użytkownika.

Prosta książka telefoniczna z wykorzystaniem zapisu do pliku

Programowanie obiektowe i zdarzeniowe wykład 3 Okna i kontrolki

XAML Extensible Application Markup Language

POLITECHNIKA POZNAŃSKA. Oprogramowanie dla telefonów z systemem Windows Phone 8 obsługujących technologię NFC do sprawdzania listy obecności.

using System;... using System.Threading;

Windows Phone XML WG MICROSOFT GUI. Schemat w dokumencie. Schemat w pliku zewnętrznym. Visual Studio: Properties pliku xml-owego

Programowanie telefonów z Windows Phone 7, cz. 2

Poznaj ASP.NET MVC. Kamil Cieślak Microsoft Student Partner

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

Instrukcja laboratoryjna cz.4

Laboratorium 10 - Web Services

Instrukcja laboratoryjna cz.7

Wykład 12. Programowanie serwera MS SQL 2005 w C#

- Narzędzie Windows Forms. - Przykładowe aplikacje. Wyższa Metody Szkoła programowania Techniczno Ekonomiczna 1 w Świdnicy

Wstęp. Ale po co? Implementacja

Programowanie telefonów z Windows Phone 7, cz. 4

Klasy i obiekty cz II

Java Platform Micro Edition

Projektowanie obiektowe. dr Jarosław Skaruz

Podstawy programowania obiektowego

Proxy (pełnomocnik) Cel: Zastosowanie: Dostarczyć zamiennik pewnego obiektu, pozwalający kontrolować dostęp do niego.

7. Tworzenie interfejsu użytkownika w WPF użyciem PRISM 5.0

Instrukcja laboratoryjna nr.4

Programowanie obiektowe i zdarzeniowe

Przykład zastosowania notacji UML dla realizacji zastosowania wzorca Mediator (materiały dla studentów na prawach rękopisu)

Instrukcja 2 Laboratorium z Podstaw Inżynierii Oprogramowania

Testowanie II. Celem zajęć jest zapoznanie studentów z oceną jakości testów przy wykorzystaniu metryk pokrycia kodu testami (ang. code coverage).

Podstawy Programowania

1 LINQ. Zaawansowane programowanie internetowe Instrukcja nr 1

Kurs programowania. Wykład 13. Wojciech Macyna. 14 czerwiec 2017

Metody Metody, parametry, zwracanie wartości

Programowanie obiektowe

Java JMX. Marcin Werla. Monitorowanie i zarządzanie usługami sieciowymi w Javie. mwerla@man.poznan.pl PCSS/Poznań JUG

Modele zawartości. WPF wykorzystuje 4 modele zawartości kontrolek: ContentControl pojedyncza zawartość

Instrukcja laboratoryjna cz.3

Instrukcja laboratoryjna cz.6

Programowanie obiektowe

Rozdział 3. Zapisywanie stanu aplikacji w ustawieniach lokalnych

Kurs WWW. Paweł Rajba.

Metodyki zwinne wytwarzania oprogramowania

Programowanie obiektowe w VB cz 2

Aplikacje w środowisku Java

Kurs programowania. Wykład 9. Wojciech Macyna. 28 kwiecień 2016

2) W wyświetlonym oknie należy zaznaczyć chęć utworzenia nowej aplikacji (wygląd okna może się różnić od powyższego); kliknąć OK

Bazy danych dla producenta mebli tapicerowanych. Bartosz Janiak Marcin Sikora Wrocław r.

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

UML a kod w C++ i Javie. Przypadki użycia. Diagramy klas. Klasy użytkowników i wykorzystywane funkcje. Związki pomiędzy przypadkami.

Zdarzenia i polecenia

Tworzenie i wykorzystanie usług sieciowych

Programowanie obiektowe i C++ dla matematyków

Java: interfejsy i klasy wewnętrzne

Programowanie Komputerów

Fragmenty są wspierane od Androida 1.6

- Narzędzie Windows Forms. - Przykładowe aplikacje. Wyższa Szkoła Techniczno Ekonomiczna w Świdnicy. Języki i paradygmaty programowania - 8

Windows Workflow Foundation (wprowadzenie - prosty przykład Sequential Workflow):

ASP.NET MVC. Podstawy. Zaawansowane programowanie internetowe Instrukcja nr 3

1. Czynności przygotowujące aplikację działającą na platformie Java SE Biblioteka5 (należy ją pobrać z załącznika z p.1)

SL: warstwy aplikacji. Wykład 4 Silverlight

Systemy Rozproszone. Spis treści. Temat projektu: Regułowy system analizujacy logi. autorzy: Rafał Sadłowski, Sebastian Falkus, Michał Różycki

[Android] Podstawy programowania

Systemy operacyjne na platformach mobilnych

Ekspert radzi. mechanizm w enova, umożliwiający wskazanie domyślnej drukarki dla danego stanowiska i wydruku. Strona 1 z 8. Ekspert radzi.

Wzorce logiki dziedziny

Techniki programowania INP001002Wl rok akademicki 2018/19 semestr letni. Wykład 3. Karol Tarnowski A-1 p.

Oprogramowanie i wykorzystanie stacji roboczych. Wykład 4

System zdarzeń - wyzwalanie i nasłuchiwanie

Aplikacje RMI Lab4

RESTful WCF Services. Autor ćwiczenia: Piotr Ostrowski. Kroki ćwiczenia : 1. Utworzenie nowego projektu RESTful WCF.

Programowanie w technologii.net wykład 4 Aplikacja i okna

Projektowanie Aplikacji Internetowych. Wzorce projektowe warstwy usług

Instrukcja implementacji sterownika wirtualnego portu szeregowego dla systemu Android. Opracowanie: Elzab Soft sp. z o.o.

Omówienie wzorców wykorzystywanych w Prism 5.0. Dominika Różycka

Wykład 5 Okna MDI i SDI, dziedziczenie

Instrukcja tworzenia aplikacji EE na bazie aplikacji prezentowanej na zajęciach lab.4 z PIO umożliwiająca przez sieć dostęp wielu użytkownikom.

Inżynieria Programowania Laboratorium 6 Pierwsza finalna wersja. Paweł Paduch paduch@tu.kielce.pl

MonoGame. Wieloplatformowe gry w C# Mateusz Cicheński

Technologie internetowe ASP.NET Core. Paweł Rajba

Kurs programowania. Wykład 2. Wojciech Macyna. 17 marca 2016

KLASA UCZEN Uczen imię, nazwisko, średnia konstruktor konstruktor Ustaw Wyswietl Lepszy Promowany

MVC w praktyce tworzymy system artykułów. cz. 1

Laboratorium z przedmiotu: Inżynieria Oprogramowania INP

Programowanie obiektowe

Projektowanie obiektowe oprogramowania Wzorce architektury aplikacji (3) Wykład 11 Repository, Unit of Work Wiktor Zychla 2017

Klasy cd. Struktury Interfejsy Wyjątki

PAT: persistence aspect

.NET NET Framework Microsoft Windows Communication Foundation Microsoft Windows Presentation Foundation Microsoft Windows Workflow Foundation

Obiektowe programowanie rozproszone Java RMI. Krzysztof Banaś Systemy rozproszone 1

Wzorce prezentacji internetowych

Transkrypt:

Przewodnik krok po kroku: Aplikacja jest rozbudowywana. Jej podstawą jest: https://msdn.microsoft.com/enus/library/ff921174(v=pandp.40).aspx Do aplikacji dodajemy nowy moduł, który posłuży nam do dodawania nowych wydarzeń w osobnej karcie. Na początu tworzymy widok byśmy wiedzieli co będziemy chcieli otrzymać(zaprogramować): Tworzymy plik: AddNewProjectView.xaml Uzupełniamy go o poniższą treść: <UserControl x:class="uicomposition.employeemodule.views.addnewprojectview" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"> <Grid x:name="layoutroot"> <Grid.Background> <LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0"> <GradientStop Color="#4e2c85" /> <GradientStop Color="#5f3d96" Offset="1" /> </LinearGradientBrush> </Grid.Background> <Grid.ColumnDefinitions> <ColumnDefinition Width="*" /> </Grid.ColumnDefinitions> <Grid.RowDefinitions> <RowDefinition Height="Auto" /> <RowDefinition Height="*" /> </Grid.RowDefinitions> <TextBlock Grid.Row="0" Text="Nowy projekt" TextWrapping="Wrap" FontSize="18" Foreground="#eee" Margin="8" /> <Grid Grid.Row="1" Grid.Column="0" Width="Auto" Height="Auto" Margin="8"> <Grid.ColumnDefinitions> <ColumnDefinition Width=".5*" /> <ColumnDefinition Width=".5*" /> </Grid.ColumnDefinitions> <StackPanel Grid.Column="0" Orientation="Vertical">

<TextBlock Text="Co zrobić:" Foreground="White" HorizontalAlignment="Left" Padding="0,5,5,5" FontWeight="Bold" /> <TextBox AutomationProperties.AutomationId="FirstNameTextBox" Height="Auto" Width="Auto" HorizontalAlignment="Stretch" Margin="0,5,100,5" Text="Binding textbox"/> </StackPanel> <StackPanel Grid.Column="1"> <TextBlock Text="Opis:" Foreground="White" HorizontalAlignment="Left" Padding="0,5,5,5" FontWeight="Bold" /> <TextBox AutomationProperties.AutomationId="LastNameTextBox" Height="Auto" Width="Auto" HorizontalAlignment="Stretch" Margin="0,5,100,5" Text="Binding textbox1"/> <Button Content="Dodaj Zadanie" Foreground="White" Background="#333" Command="Binding NewProjects"/> </StackPanel> </Grid> </Grid> </UserControl> Po dodaniu widoku potrzebujemy dodać w pliku cs widoku, w którym to obserwujemy zdarzenia: using System.Windows.Controls; using Microsoft.Practices.Prism.Regions; using UIComposition.EmployeeModule.ViewModels; namespace UIComposition.EmployeeModule.Views /// <summary> /// Interaction logic for AddNewProject.xaml /// </summary> public partial class AddNewProjectView : UserControl public AddNewProjectView(AddNewProjectViewModel addnewprojectviewmodel) InitializeComponent(); // Set the ViewModel as this View's data context. this.datacontext = addnewprojectviewmodel; // This view is displayed in a region with a region context. // The region context is defined as the currently selected employee // When the region context is changed, we need to propogate the // change to this view's view model. RegionContext.GetObservableContext(this).PropertyChanged += (s, e) =>

addnewprojectviewmodel.currentemployee = RegionContext.GetObservableContext(this).Value as Employee; Po wykonaniu tych czynności przechodzimy do oprogramowania logiki aplikacji. Tworzymy interfejs w którym implementujemy funkcję AddProjects namespace UIComposition.EmployeeModule.Services /// <summary> /// Data service interface. /// </summary> public interface IEmployeeDataService Employees GetEmployees(); Projects GetProjects(); void AddProjects(string id, string zadanie, string opis); Struktura takiego projektu wygląda następująco: namespace UIComposition.EmployeeModule.Models public class Project public string Id get; set; public string ProjectName get; set; public string Role get; set; Implementacja ViewModelu AddNewProject Wiążemy akcje z GUI. using System.ComponentModel; using Microsoft.Practices.Prism; using Microsoft.Practices.Prism.Commands; using UIComposition.EmployeeModule.Services;

namespace UIComposition.EmployeeModule.ViewModels public class AddNewProjectViewModel : INotifyPropertyChanged public string textbox get ; set ; public string textbox1 get; set; public AddNewProjectViewModel(IEmployeeDataService iemployeedataservice) NewProjects = new DelegateCommand(() => iemployeedataservice.addprojects(currentemployee.id,textbox,textbox1); ); public DelegateCommand NewProjects get ; set ; public string ViewName get return "Nowe zadanie"; private Employee currentemployee; public Employee CurrentEmployee get return this.currentemployee; set this.currentemployee = value; this.notifypropertychanged("currentemployee");

#region INotifyPropertyChanged Members public event PropertyChangedEventHandler PropertyChanged; private void NotifyPropertyChanged(string propertyname) if (this.propertychanged!= null) this.propertychanged(this, new PropertyChangedEventArgs(propertyName)); #endregion ViewModel deleguje nam akcje do Modelu. Po zakończeniu poszczególnych kroków otrzymujemy nowy moduł odpowiedzialny za tworzenie nowych projektów.