Zeus ColorControls Ver Manual

Σχετικά έγγραφα
Zeus UpDownControls Ver. 1.0

Γ3.3.Μ7 ΕΠΑΝΆΛΗΨΗ ΜΈΡΟΣ Α: ΈΝΝΟΙΕΣ ΤΙ ΕΊΝΑΙ Η VISUAL BASIC ΤΙ ΜΠΟΡΟΎΜΕ ΝΑ ΚΆΝΟΥΜΕ ΜΕ ΤΗ VISUAL BASIC ΑΝΤΙΚΕΊΜΕΝΑ: ΦΌΡΜΑ ΚΑΙ ΧΕΙΡΙΣΤΉΡΙΑ ΕΤΙΚΈΤΑ LABEL

Δημιουργώντας μια εφαρμογή ζωγραφικής. 2 η Εργασία

Zeus RelayCommand Ver. 1.0

Πώς εκτυπώνουμε μία λίστα εγγραφών από μία Access database (γενικός τρόπος)

Συνοπτικό εγχειρίδιο χρήσης του Microsoft Visual Studio 2010

ΜICROSOFT VISUAL STUDIO Eργ 1: Ανάπτυξη απλής εφαρµογής: Solutions, Projects, GUI, Events, Debugging. Εισαγωγή

ΤΕΙ ΗΠΕΙΡΟΥ ΣΧΟΛΗ: Τεχνολογικών Εφαρμογών ΤΜΗΜΑ: Μηχανικών Πληροφορικής Τ.Ε.

Πώς εκτυπώνουμε μία λίστα από εγγραφές μίας Access database

Εργαστήριο Δομημένος Προγραμματισμός (C#) Τμήμα Μηχανολογίας Νικόλαος Ζ. Ζάχαρης Καθηγητής Εφαρμογών

Οδηγίες για εισαγωγή Photo Gallery σε Ιστοσελίδα με το SharePoint Designer 2007

Γράψιμο και Διάβασμα σε φύλλο του Excel

Σχεδόν όλες οι ιστοσελίδες βασίζονται σε μεγάλο βαθμό σε πίνακες. Για να εισάγουμε έναν πίνακα επιλέγουμε από το μενού Insert->Table.

Εγχειρίδιο Χρήσης Εφαρμογής TRS Client

ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ ΟΛΟΚΛΗΡΩΜΕΝΟΥ ΠΛΗΡΟΦΟΡΙΑΚΟΥ ΣΥΣΤΗΜΑΤΟΣ (ΟΠΣ) ΓΙΑ ΤΗΝ ΠΡΟΓΡΑΜΜΑΤΙΚΗ ΠΕΡΙΟΔΟ ΣΕΣ

Εργαστήριο 2 - Άσκηση - Ανάλυση

Αντικειμενοστρεφής Προγραμματισμός

ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ ΟΛΟΚΛΗΡΩΜΕΝΟΥ ΠΛΗΡΟΦΟΡΙΑΚΟΥ ΣΥΣΤΗΜΑΤΟΣ (ΟΠΣ) ΓΙΑ ΤΗΝ ΠΡΟΓΡΑΜΜΑΤΙΚΗ ΠΕΡΙΟΔΟ ΣΕΣ

Γενικά. Change Reference

Τα αντικείμενα ή Χειριστήρια και οι βασικές ιδιότητες τους (properties)

ΦΥΛΛΟ ΕΡΓΑΣΙΑΣ A.7.M21 Προγραμματίζοντας με το App Inventor Εισαγωγή

ΟΔΗΓΙΕΣ ΔΗΜΙΟΥΡΓΙΑΣ ΕΦΑΡΜΟΓΗΣ ΔΙΑΧΕΙΡΙΣΗΣ ΑΜΕΣΟΥ ΑΡΧΕΙΟΥ ΣΕ ΠΕΡΙΒΑΛΛΟΝ VISUAL STUDIO NET

> μεγαλύτερο <= μικρότερο ή ίσο < μικρότερο == ισότητα >= μεγαλύτερο ή ίσο!= διαφορετικό

Ενότητα 15 Μορφοποίηση της Γραφικής Παράστασης

ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ ΟΛΟΚΛΗΡΩΜΕΝΟΥ ΠΛΗΡΟΦΟΡΙΑΚΟΥ ΣΥΣΤΗΜΑΤΟΣ (ΟΠΣ) ΓΙΑ ΤΗΝ ΠΡΟΓΡΑΜΜΑΤΙΚΗ ΠΕΡΙΟΔΟ ΣΕΣ

Εργαστήριο #12. Βήμα 1 ο. Βήμα 2 ο. Βήμα 3 ο. Βήμα 4 ο.

Εισαγωγή στο πρόγραμμα Microsoft word 2003

Αντανάκλαση κειμένου (Text Reflection)

Σπουδές CAD, Πληροφορικής, Οικονομίας, Διοίκησης και D.T.P. με Σύστημα διδασκαλίας facetoface

ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ ΟΛΟΚΛΗΡΩΜΕΝΟΥ ΠΛΗΡΟΦΟΡΙΑΚΟΥ ΣΥΣΤΗΜΑΤΟΣ (ΟΠΣ) ΓΙΑ ΤΗΝ ΠΡΟΓΡΑΜΜΑΤΙΚΗ ΠΕΡΙΟΔΟ ΣΕΣ

Web Forms. Το Web Forms βρίσκεται στο µενού Οργάνωση λειτουργίας -> Βοηθητικές εργασίες -> Web Forms.

ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ ΟΛΟΚΛΗΡΩΜΕΝΟΥ ΠΛΗΡΟΦΟΡΙΑΚΟΥ ΣΥΣΤΗΜΑΤΟΣ (ΟΠΣ) ΓΙΑ ΤΗΝ ΠΡΟΓΡΑΜΜΑΤΙΚΗ ΠΕΡΙΟΔΟ ΣΕΣ

Το βιβλίο διευθύνσεων των Windows

Σπουδές CAD, Πληροφορικής, Οικονομίας, Διοίκησης και D.T.P. με Σύστημα διδασκαλίας facetoface

Μέρος 2. Εισαγωγή στο Lab VIEW και τα Εικονικά Όργανα

Ξεκινώντας με το MIT Αρρ Inventor. 1 η Εργασία

Στην τεχνολογία των CSS, οι κανόνες στυλ (style

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ. Ενότητα: ΜΕΤΑΒΛΗΤΕΣ ΚΥΡΟΠΟΥΛΟΣ ΚΩΝΣΤΑΝΤΙΝΟΣ. Τμήμα Διοίκηση Επιχειρήσεων (Κοζάνη)

Επεξεργασία πολλαπλών φύλλων εργασίας - Γραφημάτων Excel

ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ ΟΛΟΚΛΗΡΩΜΕΝΟΥ ΠΛΗΡΟΦΟΡΙΑΚΟΥ ΣΥΣΤΗΜΑΤΟΣ (ΟΠΣ) ΓΙΑ ΤΗΝ ΠΡΟΓΡΑΜΜΑΤΙΚΗ ΠΕΡΙΟΔΟ ΣΕΣ

6. ΓΕΩΓΡΑΦΙΚΑ ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ. Ενότητα: Τα Σχήματα ΚΥΡΟΠΟΥΛΟΣ ΚΩΝΣΤΑΝΤΙΝΟΣ. Τμήμα Διοίκηση Επιχειρήσεων (Κοζάνη)

Εργαστήριο Δομημένος Προγραμματισμός (C#) Τμήμα Μηχανολογίας Νικόλαος Ζ. Ζάχαρης Καθηγητής Εφαρμογών

Γραφικά υπολογιστών Εργαστήριο 10 Εισαγωγή στα Sprites

ΜΑΘΗΜΑ 10 Ο ΟΡΓΑΝΩΣΗ ΤΗΣ Β ΓΙΑ ΧΡΗΣΤΕΣ (NON-EXPERTS) Α. ΗΜΙΟΥΡΓΙΑ ΠΙΝΑΚΑ ΕΠΙΛΟΓΩΝ 1. TOOLS DATA UTILITIES SWITCHBOARD MANAGER YES

1 ο Εργαστήριο Συντεταγμένες, Χρώματα, Σχήματα

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Graphical User Interfaces (GUI) SWING

1. Κλικ στην καρτέλα Insert 2. Tables 3. Κλικ Table 4. Σύρουμε το δείκτη του ποντικιού και επιλέγουμε τον επιθυμητό αριθμό γραμμών και στηλών

Μέρος 2. Εισαγωγή στο Lab VIEW και τα Εικονικά Όργανα

1. Κατανόηση Και Αλλαγή Μεταξύ Προβολών Εμφάνισης Της Παρουσίασης. 1. Κατανόηση Και Αλλαγή Μεταξύ Προβολών Εμφάνισης Της Παρουσίασης

BHMA 01 Χειρισμός Ηλεκτρονικών Ανταλλαγών - (Ενημέρωση - Δημιουργία Αρχείου)

Δημιουργία και Σύνδεση με Στήλες Βιβλίου

Σχήµα 4.1: Εισαγωγή βρόγχου while-loop.

Δημιουργώντας μια εφαρμογή ζωγραφικής. 2 ο Μάθημα

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ. Ενότητα: Τοπικές vs Καθολικές Μεταβλητές ΚΥΡΟΠΟΥΛΟΣ ΚΩΝΣΤΑΝΤΙΝΟΣ. Τμήμα Διοίκηση Επιχειρήσεων (Κοζάνη)

Φόρμες. Γενικοί κανόνες. Η ετικέτα <form>

Ξεκινώντας με το MIT Αρρ Inventor. 1 η Εργασία

App Inventor. Εφαρμογή 7 η. Υπολογισμός Μέσου όρου μαθημάτων

Field Service Management ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ

ΤΕΙ Ιονίων Νήσων Εργαστηριακές Ασκήσεις στα Γεωγραφικά Συστήματα Πληροφοριών

ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ ΟΛΟΚΛΗΡΩΜΕΝΟΥ ΠΛΗΡΟΦΟΡΙΑΚΟΥ ΣΥΣΤΗΜΑΤΟΣ (ΟΠΣ) ΓΙΑ ΤΗΝ ΠΡΟΓΡΑΜΜΑΤΙΚΗ ΠΕΡΙΟΔΟ ΣΕΣ ΕΝΟΤΗΤΑ «ΝΟΜΙΚΕΣ ΔΕΣΜΕΥΣΕΙΣ ΈΡΓΩΝ ΔΣ»

How to register an account with the Hellenic Community of Sheffield.

ΟΔΗΓΙΕΣ ΧΡΗΣΗΣ ΠΡΟΓΡΑΜΜΑΤΟΣ GPRS 1. ΟΔΗΓΙΕΣ ΕΓΚΑΤΑΣΤΑΣΗΣ GOOGLE EARTH

3D FLASH ANIMATOR (3DFA)

Εκτύπωση Γενικού Ημερολογίου

Management Classes Create Class Create Class Management Classes List of Classes

Τα Windows Πολύ Απλά και Πολύ Σύντομα

ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ ΟΛΟΚΛΗΡΩΜΕΝΟΥ ΠΛΗΡΟΦΟΡΙΑΚΟΥ ΣΥΣΤΗΜΑΤΟΣ (ΟΠΣ) ΓΙΑ ΤΗΝ ΠΡΟΓΡΑΜΜΑΤΙΚΗ ΠΕΡΙΟΔΟ ΣΕΣ ΕΝΟΤΗΤΑ «ΕΙΣΡΟΕΣ»

ΠΡΟΣΟΧΗ: Οι απαντήσεις πολλαπλής επιλογής µόνο πάνω στο ΦΥΛΛΟ ΑΠΑΝΤΗΣΕΩΝ

Άσκηση 6 η Ανύψωση Σχημάτων. Στόχος της άσκησης

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ. Ενότητα: ΔΟΜΕΣ ΕΠΙΛΟΓΗΣ-MSGBOX ΚΥΡΟΠΟΥΛΟΣ ΚΩΝΣΤΑΝΤΙΝΟΣ. Τμήμα Διοίκηση Επιχειρήσεων (Κοζάνη)

Η Βίβλος των CSS - Μέρος 3 Το Box Model, τα Περιθώρια και τα Περιγράμματα

Οδηγίες κατασκευής Ιστοσελίδων µε το πρόγραµµα FRONTPAGE 2003

Εισαγωγή στην Επιστήμη της Πληροφορικής Εργαστήριο. Microsoft Power Point Μέρος 1

Οδηγίες Αγοράς Ηλεκτρονικού Βιβλίου Instructions for Buying an ebook

Browsers. Λειτουργικότητα και Παραμετροποίηση

Εισαγωγή στην Επιστήμη της Πληροφορικής Εργαστήριο. Microsoft Power Point Μέρος 1

Διαχείριση Έργων- Στόχων

Γενική περιγραφή. Περιγραφή σχεδιασμού εφαρμογής

Κεφάλαιο 2.3: Ρυθμίσεις των Windows

ΤΕΧΝΙΚΟΣ ΕΦΑΡΜΟΓΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΓΛΩΣΣΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ V ΕΚΠΑΙΔΕΥΤΗΣ ΓΑΛΑΝΟΣ ΓΕΩΡΓΙΟΣ

2. Κάντε κλικ στο παράθυρο όψης Top για να το ενεργοποιήσετε, ώστε να σχεδιάσετε το πάτωµα του δωµατίου.

Δημιουργία και επεξεργασία διανυσματικών επιπέδων στο QGIS

ΕΠΕΞΕΡΓΑΣΙΑ ΒΙΝΤΕΟ ΜΕ ΤΟ ΠΡΟΓΡΑΜΜΑ VSDC FREE VIDEO EDITOR

Δημιουργώντας τα δικά μας αντικείμενα

Πως θα κατασκευάσω το πρώτο πρόγραμμα;

Οδηγίες Προσαρτήματος

GobiExport: Millennium Orders Γ Ρ Α Φ Ε Ι Ο Δ Ι Α Χ Ε Ι Ρ Ι Σ Η Σ Υ Λ Ι Κ Ο Υ - Τ Μ Η Μ Α Π Α Ρ Α Γ Γ Ε Λ Ι Ω Ν Ε Ν Τ Υ Π Ο Υ Υ Λ Ι Κ Ο Υ

Το PowerPoint (PP) είναι ένα γραφικό πρόγραμμα για παρουσιάσεις. Χαρακτηριστικά Παρουσιάσεων:

Διαχείριση Έργων- Στόχων

4 η Εργαστηριακή Άσκηση

Multi Media Builder 4.8

Οδηγός Εισαγωγή Χρηστών σε LDAP Server με χρήση. LdapAdmin TEMPLATE

PRISMA Win POS Sync Merge Replication

Αντικειμενοστρεφής Προγραμματισμός

SmarTECPoS. Πως βάζω νέα είδη; Back Office Βασικό Είδη new Νέο Γενικά Κωδικός (είδους) Περιγραφή 1 Τμήμα Τιμή Αποθήκη Τιμή 1 Εστιατόριο Εκτυπωτής

Γ7.2 Συμβολοσειρές (Strings) Γ Λυκείου Κατεύθυνσης

Μορφοποίηση εικόνων. Εισαγωγή. Στόχος κεφαλαίου

3. ΕΙΣΑΓΩΓΗ ΣΤΟ CSS ΓΙΩΡΓΟΣ ΓΙΑΝΝΑΚΑΚΗΣ, ΜΑΝΩΛΗΣ ΤΣΙΚΝΑΚΗΣ

Εγχειρίδιο Χρήσης Ενημέρωσης Λογισμικού Bluetooth Windows 7

Transcript:

Zeus ColorControls Ver. 1.0 Manual Copyright 2018 Χρήστος Μουρατίδης Σελίδα 0

Zeus ColorControls ZEUS COLORCONTROLS VERSION 1.0... 2 ΟΙ ΟΡΙΣΜΟΙ ΤΩΝ ΚΛΑΣΕΩΝ... 4 ΔΙΑΝΟΜΗ... 5 ΕΠΙΚΟΙΝΩΝΙΑ... 6 COLORSWATCHHTML16... 7 ΙΔΙΟΤΗΤΕΣ... 10 SelectedColor... 11 SelectedSolidColorBrush... 12 ΣΥΜΒΑΝΤΑ... 13 SelectedColorChanged... 14 COLORPICKER... 15 ΑΠΑΡΙΘΜΗΣΕΙΣ... 19 PaletteEnum... 20 ΙΔΙΟΤΗΤΕΣ... 21 CustomColorsTitle... 22 MoreColorsTitle... 24 MoreColorsOKButtonTitle... 26 MoreColorsCancelButtonTitle... 28 MoreColorsDialogButtonsWidth... 30 NoColorTitle... 32 Palette... 34 PaletteName... 36 PaletteColorsTitle... 37 SelectedColor... 39 SelectedSolidColorBush... 41 StandardColorsTitle... 42 ΣΥΜΒΑΝΤΑ... 44 SelectedColorChanged... 45 ΜΕΘΟΔΟΙ... 47 ResetCustomColors()... 48 ΤΟ ΑΡΧΕΙΟ CUSTOMCOLORS.TXT... 49 Σελίδα 1

Zeus ColorControls Zeus ColorControls version 1.0 Κλάσεις: ColorSwatchHTML16,. Inherits: System.Windows.Controls.UserControl Namespace: Zeus.WPF.Controls.ColorControls Assembly: ZeusColorControls (in ZeusColorControls.dll) Dependencies: CustomColors.txt Περιγραφή Η βιβλιοθήκη Zeus ColorControls περιλαμβάνει δύο UserControls, για την επιλογή χρώματος. Η στάνταρ βιβλιοθήκη του WPF δεν παρέχει κάποια ανάλογα controls οπότε θα καταφύγουμε σε λύσεις τρίτων. Μία καλή επιλογή είναι αυτά που παρουσιάζουμε παρακάτω, όπου παρέχουν μία απλή ή σύνθετη παλέτα χρωμάτων μέσω της οποίας ο χρήστης μπορεί να επιλέξει ένα χρώμα. Να σημειωθεί ότι, τα χρώματα είναι συμπαγή (solid colors) και προς το παρόν δεν υπάρχει δυνατότητα για διαβαθμισμένα χρώματα (gradient colors). Παρακάτω, παρατίθενται τα ColorControls. ColorSwatchHTML16 Επιτρέπει την επιλογή χρώματος από μία παλέτα που βασίζεται στο πρότυπο του HTML 3.2. H συγκεκριμένη παλέτα παρέχει μία μικρή γκάμα 16 βασικών χρωμάτων. Μπορεί να χρησιμοποιηθεί για τον γρήγορο χρωματισμό κειμένου. Επιτρέπει την επιλογή χρώματος από μία παλέτα που βασίζεται στο πρότυπο του Office 2007. Ως εκ τούτου, υπάρχουν περισσότερα χρώματα ενώ υπάρχει η δυνατότητα ο χρήστης να συνθέσει και να αποθηκεύσει μέχρι και 20 custom colors. Να σημειωθεί ότι, μελλοντικά ενδέχεται να προστεθούν κι άλλες παλέτες προς επιλογή. Παρατηρήσεις Σε φάση ανάπτυξης, πρέπει να τοποθετήσετε το αρχείο CustomColors.txt στο φάκελο του έργου, δηλαδή στο φάκελο που βρίσκεται το solution αρχείο (.sln). Αλλιώς, δεν θα μπορείτε να Σελίδα 2

Zeus ColorControls χρησιμοποιήσετε το. Το αρχείο αυτό χρησιμοποιείται εσωτερικά από το για να αποθηκεύει τα custom colors (μέχρι 20 χρώματα) που συνθέτει ο χρήστης. Παρομοίως, στη διανομή, πρέπει το αρχείο αυτό να συμπεριληφθεί στον φάκελο διανομής μαζί με το assembly αρχείο ZeusColorControls.dll. Σελίδα 3

Zeus ColorControls Οι ορισμοί των κλάσεων Οι κλάσεις έχουν οριστεί ως εξής: Για την κλάση ColorSwatchHTML16: Σύνταξη: <DefaultProperty("SelectedColor")> Public Class ColorSwatchHTML16 XAML Object Element Usage: Εισαγωγή namespace: xmlns:zeus="clr-namespace:zeus.wpf.controls.colorcontrols;assembly=zeuscolorcontrols" Χρήση: <zeus:colorswatchhtml16... /> Για την κλάση : Σύνταξη: <DefaultProperty("SelectedColor")> Public Class XAML Object Element Usage: Εισαγωγή namespace: xmlns:zeus="clr-namespace:zeus.wpf.controls.colorcontrols;assembly=zeuscolorcontrols" Χρήση: <zeus:... /> Σελίδα 4

Zeus ColorControls Διανομή Κατά τη διανομή, στο φάκελο της εφαρμογής σας πρέπει να αντιγράψετε το assembly αρχείο ZeusColorControls.dll και το text αρχείο CustomColors.txt. Σελίδα 5

Zeus ColorControls Επικοινωνία Για οποιαδήποτε πληροφορία ή διευκρίνηση παρακαλώ επικοινωνήστε στο : mouratx@yahoo.com ή mouratx@hotmail.com Χρήστος Μουρατίδης, Πειραιάς, Σεπτέμβριος 2018 Υ.Γ. Μπορείτε να επικοινωνήσετε μαζί μου για να προμηθευτείτε το βιβλίο μου "Μάθετε το WPF με τη Visual Basic" (1.333 σελίδες, Αυτοέκδοση 2018). Σελίδα 6

ColorSwatchHTML16 ColorSwatchHTML16 Ένα UserControl που περιέχει μία βασική παλέτα 16 χρωμάτων που βασίζεται στο πρότυπο HTML 3.2. Σύνταξη: <DefaultProperty("SelectedColor")> Public Class ColorSwatchHTML16 XAML Object Element Usage: Εισαγωγή namespace: xmlns:zeus="clr-namespace:zeus.wpf.controls.colorcontrols;assembly=zeuscolorcontrols" Χρήση: <zeus:colorswatchhtml16... /> Παρατηρήσεις: Πρόκειται για ένα πολύ απλό control που επιτρέπει στο χρήστη να επιλέξει γρήγορα ένα χρώμα από μία μικρή παλέτα 16 χρωμάτων. Μπορεί να χρησιμοποιηθεί σε σενάρια χρωματισμού κειμένου. Το επιλεγμένο χρώμα αποθηκεύεται στην ιδιότητα SelectedColor ενώ αν συνδέσουμε (με μία binding έκφραση σε XAML) την ιδιότητα SelectedSolidColorBrush με την ιδιότητα Foreground ενός control (π.χ. TextBlock) τότε αυτόματα εφαρμόζεται το επιλεγμένο χρώμα στο κείμενο του control. Παράδειγμα: Στο παράδειγμα που ακολουθεί, τοποθετούμε μέσα σε ένα Grid ενός παραθύρου διάφορα controls μεταξύ των οποίων ένα Rectangle, ένα TextBox κι ένα ColorSwatchHTML16. Συνδέουμε την ιδιότητα Fill του Rectangle και την ιδιότητα Foreground του TextBox Σελίδα 7

ColorSwatchHTML16 με την ιδιότητα SelectedSolidColorBrush του ColorSwatchHTML16. Κάθε φορά που ο χρήστης επιλέγει ένα χρώμα από την παλέτα τότε βάφεται το Rectangle και χρωματίζεται το κείμενο στο TextBox. <Window x:class="mainwindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:zeus="clr-namespace:zeus.wpf.controls.colorcontrols;assembly=zeuscolorcontro ls" mc:ignorable="d" Title="ColorControls Sample Project" Height="500" Width="555"> <Window.Resources > <!-- A Style for the TextBlocks --> <Style TargetType="{x:Type TextBlock }"> <Setter Property="FontSize" Value="18" /> <Setter Property="HorizontalAlignment" Value="Center"/> <Setter Property="Padding" Value="5"/> <Setter Property="TextWrapping" Value="Wrap" /> </Style> </Window.Resources> <Grid Margin="10">... <!--Content--> <!-- A Sample Box filled with color from ColorSwatchHTML16. Also, a TextBox is colorized by the ColorSwatchHTML16.--> <StackPanel Background="Beige" > </StackPanel> <TextBlock >Please, select a color from the <Bold>color swatch:</bold> </TextBlock> <TextBlock>A Box</TextBlock> <Rectangle Name="rect" Width ="150" Height="50" Margin="7" Fill="{Binding ElementName=clrSwatch, Path=SelectedSolidColorBrush}" Stroke="YellowGreen" StrokeDashArray="1 2" /> <TextBox Text="Type something here..." FontSize="14" Margin="7" Height="23" Foreground="{Binding ElementName=clrSwatch, Path=SelectedSolidColorBrush}" /> <zeus:colorswatchhtml16 Name="clrSwatch" SelectedColor="Lime" Margin="0,0,0,20" /> </Grid> Σελίδα 8

ColorSwatchHTML16 </Window> Παρακάτω, ο χρήστης έχει επιλέξει το Lime: Σελίδα 9

ColorSwatchHTML16 Ιδιότητες Όνομα SelectedColor Περιγραφή Καθορίζει το επιλεγμένο χρώμα, τύπου Color. SelectedSolidColorBrush Επιστρέφει ένα αντικείμενο, τύπου SolidColorBrush, που αντιστοιχεί στο επιλεγμένο χρώμα. Είναι read-only και πολύ χρήσιμη σε binding σενάρια, συνήθως με τις ιδιότητες Background και Foreground ενός control. Σελίδα 10

ColorSwatchHTML16 SelectedColor Καθορίζει το επιλεγμένο χρώμα, τύπου Color. Σύνταξη: Public Property SelectedColor As Color Τύπος: System.Windows.Media Προσδιορίζουμε τιμή Color που θα αποτελεί το επιλεγμένο χρώμα. H default τιμή είναι Nothing. Dependency Property Information: Identifier field: SelectedColorProperty Παρατηρήσεις: Προγραμματιστικά, θέτουμε μία προκαθορισμένη τιμή από την κλάση Colors. Αν και μπορεί να δεχτεί μία οποιαδήποτε τιμή Color, αν δεν ανήκει στις βασικές 16 δεν θα αντικατοπτριστεί ως πατημένο κουμπί στο control. Παράδειγμα: Στο επόμενο παράδειγμα, καθορίζουμε το μπλε ως επιλεγμένο χρώμα: XAML: <zeus:colorswatchhtml16 Name="clrSwatch" SelectedColor="Blue"... /> clrswatch.selectedcolor = Colors.Blue Σελίδα 11

ColorSwatchHTML16 SelectedSolidColorBrush Επιστρέφει ένα αντικείμενο, τύπου SolidColorBrush, που αντιστοιχεί στο επιλεγμένο χρώμα. Σύνταξη: Public ReadOnly Property SelectedSolidColorBush As SolidColorBrush Τύπος: System.Windows.Media Dependency Property Information: Identifier field: SelectedSolidColorBrushProperty Παράδειγμα: Στο επόμενο παράδειγμα (XAML), συνδέουμε με μία binding έκφραση, την ιδιότητα Foreground του txtnotes με την ιδιότητα SelectedSolidColorBrush του clrswatch: XAML: <TextBox Name="txtNotes" Text="Type something here..." FontSize="14" Margin="7" Height="23" Foreground="{Binding ElementName=clrSwatch, Path=SelectedSolidColorBrush}" /> <zeus:colorswatchhtml16 Name="clrSwatch" SelectedColor="Lime" Margin="0,0,0,20" /> Και άμεσα: VB (χωρίς binding): txtnotes.foreground= clrswatch.selectedsolidcolorbrush Σελίδα 12

ColorSwatchHTML16 Συμβάντα Όνομα SelectedColorChanged Περιγραφή Ενεργοποιείται όταν αλλάζει το επιλεγμένο χρώμα, δηλαδή η τιμή της ιδιότητας SelectedColor. Σελίδα 13

ColorSwatchHTML16 SelectedColorChanged Ενεργοποιείται όταν αλλάζει τιμή η ιδιότητα SelectedColor. Σύνταξη: VB (ορισμός): Public Custom Event SelectedColorChanged As RoutedEventHandler XAML attribute usage: <zeus:colorswatchhtml16 SelectedColorChanged="eventHanlder"... /> Παράδειγμα: Στο επόμενο παράδειγμα, όταν αλλάζει ο χρήστης το επιλεγμένο χρώμα τότε η ιδιότητα Foreground ενός TextBox, με όνομα txtnotes, λαμβάνει το χρώμα αυτό και εμφανίζεται σε μήνυμα η δεκαεξαδική τιμή του: XAML: <zeus:colorswatchhtml16 Name="clrSwatch" SelectedColor="Lime" Margin="0,0,0,20" SelectedColorChanged="clrSwatch_SelectedColorChanged"/> Imports Zeus.WPF.Controls.ColorControls... Private Sub clrswatch_selectedcolorchanged(sender As Object, _ e As SelectedColorChangedInColorSwatchHTML16EventArgs) End Sub txtnotes.foreground = clrswatch.selectedsolidcolorbrush MessageBox.Show(String.Format("The selected color is {0}", _ e.selectedcolor.tostring)) Σελίδα 14

Ένα UserControl που επιτρέπει την επιλογή χρώματος από μία παλέτα που βασίζεται στο πρότυπο του Office 2007. Ως εκ τούτου, υπάρχουν περισσότερα χρώματα ενώ υπάρχει η δυνατότητα ο χρήστης να συνθέσει και να αποθηκεύσει μέχρι και 20 custom colors. Να σημειωθεί ότι, μελλοντικά ενδέχεται να προστεθούν κι άλλες παλέτες προς επιλογή. Σύνταξη: <DefaultProperty("SelectedColor")> Public Class XAML Object Element Usage: Εισαγωγή namespace: xmlns:zeus="clr-namespace:zeus.wpf.controls.colorcontrols;assembly=zeuscolorcontrols" Χρήση: <zeus:... /> Παρατηρήσεις: Πρόκειται για ένα περισσότερο σύνθετο control που επιτρέπει στο χρήστη να επιλέξει ένα Σελίδα 15

χρώμα από μία παλέτα χρωμάτων που βασίζεται στο πρότυπο του Office 2007 (μελλοντικά, ενδέχεται να προστεθούν κι άλλες). Οι τίτλοι των επιμέρους τμημάτων (Palette colors, Standard colors, το κουμπί More colors... κλπ) μπορούν να τροποποιηθούν διευκολύνοντας το localization του control. Πέρα, από τα έτοιμα χρώματα, ο χρήστης πατώντας το κουμπί More colors..., ανοίγει ένα μικρό παράθυρο όπου μπορεί να προσθέσει/τροποποιήσει μέχρι 20 custom colors. Τα τελευταία θα εισαχθούν στο τμήμα Custom colors. Στο παράθυρο αυτό, το πάνω ορθογώνιο δείχνει το τρέχον χρώμα και το κάτω ορθογώνιο δείχνει το νέο χρώμα που συντίθεται μέσω των sliders ή θέτοντας τιμές (0-255) στα τμήματα RGBA. Προγραμματιστικά, μέσω μεθόδου, υπάρχει η δυνατότητα να κάνουμε reset τα custom colors. Πρέπει, να σημειώσουμε ότι για να λειτουργήσει το πρέπει να τοποθετήσουμε το αρχείο CustomColors.txt στο φάκελο του έργου, εκεί όπου βρίσκεται το αρχείο solution (.sln). Όσον αφορά τη διανομή, πρέπει αυτό το αρχείο να βρίσκεται μαζί με το assembly ZeusColorControls.dll. Παράδειγμα: Στο παράδειγμα που ακολουθεί, τοποθετούμε μέσα σε ένα Grid ενός παραθύρου διάφορα controls μεταξύ των οποίων ένα Rectangle κι ένα. Συνδέουμε την ιδιότητα Fill του Rectangle με την ιδιότητα SelectedSolidColorBrush του. Κάθε φορά που ο χρήστης επιλέγει ένα χρώμα από την παλέτα τότε βάφεται το Rectangle. Επίσης, παρατηρούμε ότι, όλοι οι τίτλοι στα διάφορα λεκτικά σημεία (ακόμα και στο παράθυρο της σύνθεσης χρώματος με τα buttons ΟΚ, Cancel) είναι προσαρμόσιμοι μέσων των αντίστοιων ιδιοτήτων του control. <Window x:class="mainwindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:zeus="clr-namespace:zeus.wpf.controls.colorcontrols;assembly=zeuscolorcontro ls" mc:ignorable="d" Σελίδα 16

Title="ColorControls Sample Project" Height="500" Width="555"> <Window.Resources > <!-- A Style for the TextBlocks --> <Style TargetType="{x:Type TextBlock }"> <Setter Property="FontSize" Value="18" /> <Setter Property="HorizontalAlignment" Value="Center"/> <Setter Property="Padding" Value="5"/> <Setter Property="TextWrapping" Value="Wrap" /> </Style> </Window.Resources> <Grid Margin="10">... <!--Content--> <!-- Selecting the color from the --> <StackPanel Grid.Column="1" Background="Beige" > <TextBlock >Please, select a color from the <Bold>color picker:</bold></textblock> <TextBlock>A Box</TextBlock> <Rectangle Name="rect2" Width="150" Height="50" Margin="7" Fill="{Binding ElementName=clrPicker, Path=SelectedSolidColorBrush }" Stroke="YellowGreen" StrokeDashArray="1 2" /> <zeus: Name="clrPicker" Margin="0,0,0,20" HorizontalAlignment="Center" SelectedColor="Orange" PaletteColorsTitle="Palette colors" StandardColorsTitle="Standard colors" NoColorTitle="No color" MoreColorsTitle="More colors..." MoreColorsOKButtonTitle="ΟΚ" MoreColorsCancelButtonTitle="Cancel" MoreColorsDialogButtonsWidth="70" /> </StackPanel> </Grid> </Window> Παρακάτω, ο χρήστης έχει επιλέξει μία απόχρωση του κόκκινου: Σελίδα 17

Σελίδα 18

Απαριθμήσεις Όνομα PaletteEnum Περιγραφή Περιλαμβάνει τις τιμές για τις διαθέσιμες παλέτες χρωμάτων. Σελίδα 19

PaletteEnum Καθορίζει την τρέχουσα παλέτα χρωμάτων. Σύνταξη: Public Enum PaletteEnum Μέλη: Τιμή Office2007 Περιγραφή Παλέτα χρωμάτων βασισμένη στο πρότυπο του Office 2007. Στην τρέχουσα έκδοση είναι διαθέσιμη μία μόνο παλέτα. Σελίδα 20

Ιδιότητες Όνομα Περιγραφή CustomColorsTitle Καθορίζει τον τίτλο στο τμήμα Custom colors, τύπου String. MoreColorsTitle Καθορίζει τον τίτλο στο button More colors..., τύπου String. MoreColorsOKButtonTitle MoreColorsCancelButtonTitle Καθορίζει τον τίτλο στο button OK του παραθύρου σύνθεσης χρώματος, τύπου String. Καθορίζει τον τίτλο στο button Cancel του παραθύρου σύνθεσης χρώματος, τύπου String. MoreColorsDialogButtonsWidth Καθορίζει το πλάτος των buttons OK και Cancel του παραθύρου σύνθεσης χρώματος, τύπου Double. NoColorTitle Καθορίζει τον τίτλο στο τμήμα No color, τύπου String. Palette Καθορίζει την τρέχουσα παλέτα χρωμάτων. Η τιμή προέρχεται από την απαρίθμηση PaletteEnum. PaletteName PaletteColorsTitle Επιστρέφει το όνομα της τρέχουσας παλέτας χρωμάτων, τύπου String. Καθορίζει τον τίτλο στο τμήμα Palette colors, τύπου String. SelectedColor Καθορίζει το επιλεγμένο χρώμα, τύπου Color. SelectedSolidColorBrush Επιστρέφει ένα αντικείμενο, τύπου SolidColorBrush, που αντιστοιχεί στο επιλεγμένο χρώμα. Είναι read-only και πολύ χρήσιμη σε binding σενάρια, συνήθως με τις ιδιότητες Background και Foreground ενός control. StandardColorsTitle Καθορίζει τον τίτλο στο τμήμα Standard colors, τύπου String. Σελίδα 21

CustomColorsTitle Καθορίζει τον τίτλο στο τμήμα Custom colors, τύπου String. Σύνταξη: Public Property CustomColorsTitle As String Τύπος: System.String Προσδιορίζουμε μία τιμή String που θα αποτελεί τον τίτλο του τμήματος Custom colors στην τρέχουσα παλέτα. Η default τιμή είναι "Custom colors". Dependency Property Information: Identifier field: CustomColorsTitleProperty Παράδειγμα: Στο επόμενο παράδειγμα, καθορίζουμε τον τίτλο "User defined colors" στο τμήμα Custom colors: XAML: <zeus: Name="clrPicker" Margin="0,0,0,20" HorizontalAlignment="Center" SelectedColor="Orange" PaletteColorsTitle="Palette colors" StandardColorsTitle="Standard colors" CustomColorsTitle="User defined colors" NoColorTitle="No color" MoreColorsTitle="More colors..." MoreColorsOKButtonTitle="ΟΚ" MoreColorsCancelButtonTitle="Cancel" MoreColorsDialogButtonsWidth="70" /> clrpicker.customcolorstitle = "User defined colors" Σελίδα 22

Σελίδα 23

MoreColorsTitle Καθορίζει τον τίτλο στο button More colors..., τύπου String. Σύνταξη: Public Property MoreColorsTitle As String Τύπος: System.String Προσδιορίζουμε μία τιμή String που θα αποτελεί τον τίτλο του button More colors... Η default τιμή είναι "More colors...". Dependency Property Information: Identifier field: MoreColorsTitleProperty Παράδειγμα: Στο επόμενο παράδειγμα, καθορίζουμε τον τίτλο "Color synthesis..." στο button More colors...: XAML: <zeus: Name="clrPicker" Margin="0,0,0,20" HorizontalAlignment="Center" SelectedColor="Orange" PaletteColorsTitle="Palette colors" StandardColorsTitle="Standard colors" CustomColorsTitle="Custom colors" NoColorTitle="No color" MoreColorsTitle="Color synthesis..." MoreColorsOKButtonTitle="ΟΚ" MoreColorsCancelButtonTitle="Cancel" MoreColorsDialogButtonsWidth="70" /> clrpicker.morecolorstitle = "Color synthesis..." Σελίδα 24

Σελίδα 25

MoreColorsOKButtonTitle Καθορίζει τον τίτλο στο button OK στο παράθυρο σύνθεσης χρώματος, τύπου String. Σύνταξη: Public Property MoreColorsOKButtonTitle As String Τύπος: System.String Προσδιορίζουμε μία τιμή String που θα αποτελεί τον τίτλο του button OK στο παράθυρο σύνθεσης χρώματος. Η default τιμή είναι "OK". Dependency Property Information: Identifier field: MoreColorsOKButtonTitleProperty Παράδειγμα: Στο επόμενο παράδειγμα, καθορίζουμε τον τίτλο "Accept" στο button OK και τον τίτλο "Reject" στο button Cancel, στο παράθυρο σύνθεσης χρώματος: XAML: <zeus: Name="clrPicker" Margin="0,0,0,20" HorizontalAlignment="Center" SelectedColor="Orange" PaletteColorsTitle="Palette colors" StandardColorsTitle="Standard colors" CustomColorsTitle="Custom colors" NoColorTitle="No color" MoreColorsTitle="More colors..." MoreColorsOKButtonTitle="Accept" MoreColorsCancelButtonTitle="Reje ct" MoreColorsDialogButtonsWidth="70" /> clrpicker.morecolorsokbuttontitle = "Accept" clrpicker.morecolorscancelbuttontitle = "Reject" Σελίδα 26

Σελίδα 27

MoreColorsCancelButtonTitle Καθορίζει τον τίτλο στο button Cancel στο παράθυρο σύνθεσης χρώματος, τύπου String. Σύνταξη: Public Property MoreColorsCancelButtonTitle As String Τύπος: System.String Προσδιορίζουμε μία τιμή String που θα αποτελεί τον τίτλο του button Cancel στο παράθυρο σύνθεσης χρώματος. Η default τιμή είναι "Cancel". Dependency Property Information: Identifier field: MoreColorsCancelButtonTitleProperty Παράδειγμα: Στο επόμενο παράδειγμα, καθορίζουμε τον τίτλο "Accept" στο button OK και τον τίτλο "Reject" στο button Cancel, στο παράθυρο σύνθεσης χρώματος: XAML: <zeus: Name="clrPicker" Margin="0,0,0,20" HorizontalAlignment="Center" SelectedColor="Orange" PaletteColorsTitle="Palette colors" StandardColorsTitle="Standard colors" CustomColorsTitle="Custom colors" NoColorTitle="No color" MoreColorsTitle="More colors..." MoreColorsOKButtonTitle="Accept" MoreColorsCancelButtonTitle="Reje ct" MoreColorsDialogButtonsWidth="70" /> clrpicker.morecolorsokbuttontitle = "Accept" clrpicker.morecolorscancelbuttontitle = "Reject" Σελίδα 28

Σελίδα 29

MoreColorsDialogButtonsWidth Καθορίζει το πλάτος των buttons OK και Cancel του παραθύρου σύνθεσης χρώματος, τύπου Double. Σύνταξη: Public Property MoreColorsDialogButtonsWidth As Double Τύπος: System.Double Προσδιορίζουμε μία τιμή Double που θα είνα το πλάτος των buttons OK και Cancel, στο παράθυρο σύνθεσης χρώματος. Η default τιμή είναι 70. Dependency Property Information: Identifier field: MoreColorsDialogButtonsWidthProperty Παράδειγμα: Στο επόμενο παράδειγμα, καθορίζουμε το πλάτος σε 90 pixels στα buttons OK και Cancel, στο παράθυρο σύνθεσης χρώματος: XAML: <zeus: Name="clrPicker" Margin="0,0,0,20" HorizontalAlignment="Center" SelectedColor="Orange" PaletteColorsTitle="Palette colors" StandardColorsTitle="Standard colors" CustomColorsTitle="Custom colors" NoColorTitle="No color" MoreColorsTitle="More colors..." MoreColorsOKButtonTitle="OK" MoreColorsCancelButtonTitle="Cancel" MoreColorsDialogButtonsWidth="90" /> clrpicker.morecolorsdialogbuttonswidth = 90 Σελίδα 30

Σελίδα 31

NoColorTitle Καθορίζει τον τίτλο στο τμήμα No color, τύπου String. Σύνταξη: Public Property NoColorTitle As String Τύπος: System.String Προσδιορίζουμε μία τιμή String που θα αποτελεί τον τίτλο του τμήματος No color στην τρέχουσα παλέτα. Η default τιμή είναι "No color". Dependency Property Information: Identifier field: NoColoTitleProperty Παράδειγμα: Στο επόμενο παράδειγμα, καθορίζουμε τον τίτλο "Transparent" στο τμήμα No color: XAML: <zeus: Name="clrPicker" Margin="0,0,0,20" HorizontalAlignment="Center" SelectedColor="Orange" PaletteColorsTitle="Palette colors" StandardColorsTitle="Standard colors" CustomColorsTitle="Custom colors" NoColorTitle="Transparent" MoreColorsTitle="More colors..." MoreColorsOKButtonTitle="ΟΚ" MoreColorsCancelButtonTitle="Cancel" MoreColorsDialogButtonsWidth="70" /> clrpicker.nocolortitle = "Transparent" Σελίδα 32

Σελίδα 33

Palette Καθορίζει την τρέχουσα παλέτα χρωμάτων. Η τιμή προέρχεται από την απαρίθμηση PaletteEnum. Σύνταξη: Public Property Palette As PaletteEnum Τύπος: Zeus.WPF.Controls.ColorControls.PaletteEnum Προσδιορίζουμε μία τιμή από την απαρίθμηση PaletteEnum για την τρέχουσα παλέτα χρωμάτων. Η default τιμή είναι PaletteEnum.Office2007. Dependency Property Information: Identifier field: PaletteProperty Παρατηρήσεις: Στην τρέχουσα έκδοση η μόνη διαθέσιμη παλέτα είναι η PaletteEnum.Office2007. Συνεπώς, η χρήση της ιδιότητας προς το παρόν είναι άσκοπη. Παράδειγμα: Στο επόμενο παράδειγμα, καθορίζουμε ως τρέχουσα παλέτα την.paletteenum.office2007: XAML: <zeus: Name="clrPicker" Margin="0,0,0,20" HorizontalAlignment="Center" SelectedColor="Orange" PaletteColorsTitle="Palette colors" StandardColorsTitle="Standard colors" CustomColorsTitle="User defined colors" NoColorTitle="No color" MoreColorsTitle="More colors..." MoreColorsOKButtonTitle="ΟΚ" MoreColorsCancelButtonTitle="Cancel" MoreColorsDialogButtonsWidth="70" Palette="Office2007" /> Imports Zeus.WPF.Controls.ColorControls Σελίδα 34

clrpicker.palette =.PaletteEnum.Office2007 Σελίδα 35

PaletteName Επιστρέφει το όνομα της τρέχουσας παλέτας χρωμάτων, τύπου String. Σύνταξη: Public ReadOnly Property PaletteName As String Τύπος: System.String Dependency Property Information: Identifier field: PaletteNameProperty Παράδειγμα: Στο επόμενο παράδειγμα, εμφανίζεται, ως μήνυμα, το όνομα της τρέχουσας παλέτας: MessageBox.Show(String.Format("The current palette is {0}", clrpicker.palettename)) Σελίδα 36

PaletteColorsTitle Καθορίζει τον τίτλο στο τμήμα Palette colors, τύπου String. Σύνταξη: Public Property PaletteColorsTitle As String Τύπος: System.String Προσδιορίζουμε μία τιμή String που θα αποτελεί τον τίτλο του τμήματος Palette colors στην τρέχουσα παλέτα. Η default τιμή είναι "Palette colors". Dependency Property Information: Identifier field: PaletteColorsTitleProperty Παράδειγμα: Στο επόμενο παράδειγμα, καθορίζουμε τον τίτλο "Fixed palette colors" στο τμήμα Palette colors: XAML: <zeus: Name="clrPicker" Margin="0,0,0,20" HorizontalAlignment="Center" SelectedColor="Orange" PaletteColorsTitle="Fixed palette colors" StandardColorsTitle="Standard colors" CustomColorsTitle="Custom colors" NoColorTitle="No color" MoreColorsTitle="More colors..." MoreColorsOKButtonTitle="ΟΚ" MoreColorsCancelButtonTitle="Cancel" MoreColorsDialogButtonsWidth="70" /> clrpicker.palettecolorstitle = "Fixed palette colors" Σελίδα 37

Σελίδα 38

SelectedColor Καθορίζει το επιλεγμένο χρώμα, τύπου Color. Σύνταξη: Public Property SelectedColor As Color Τύπος: System.Windows.Media Προσδιορίζουμε τιμή Color που θα αποτελεί το επιλεγμένο χρώμα. H default τιμή είναι Nothing. Dependency Property Information: Identifier field: SelectedColorProperty Παράδειγμα 1: Στο επόμενο παράδειγμα, καθορίζουμε το πορτοκαλί ως επιλεγμένο χρώμα: XAML: <zeus: Name="clrPicker" Margin="0,0,0,20" HorizontalAlignment="Center" SelectedColor="Orange" PaletteColorsTitle="Fixed palette colors" StandardColorsTitle="Standard colors" CustomColorsTitle="Custom colors" NoColorTitle="No color" MoreColorsTitle="More colors..." MoreColorsOKButtonTitle="ΟΚ" MoreColorsCancelButtonTitle="Cancel" MoreColorsDialogButtonsWidth="70" /> clrpicker.selectedcolor = Colors.Orange Παράδειγμα 2: Στο επόμενο παράδειγμα, καθορίζουμε το ημιδιαφανές κόκκινο ως επιλεγμένο χρώμα: clrpicker.selectedcolor = Color.FromArgb(128, 255, 0, 0) Σελίδα 39

Αν το χρώμα ορίζεται προγραμματιστικά και δεν υπάρχει στην παλέτα, κανένα κουμπί δεν θα φαίνεται πατημένο. Σελίδα 40

SelectedSolidColorBush Επιστρέφει ένα αντικείμενο, τύπου SolidColorBrush, που αντιστοιχεί στο επιλεγμένο χρώμα. Σύνταξη: Public ReadOnly Property SelectedSolidColorBush As SolidColorBrush Τύπος: System.Windows.Media Dependency Property Information: Identifier field: SelectedSolidColorBrushProperty Παράδειγμα: Στο επόμενο παράδειγμα (XAML), συνδέουμε με μία binding έκφραση, την ιδιότητα Fill του rect2 με την ιδιότητα SelectedSolidColorBrush του clrpicker: XAML: <Rectangle Name="rect2" Width="150" Height="50" Margin="7" Fill="{Binding ElementName=clrPicker, Path=SelectedSolidColorBrush}" Stroke="YellowGreen" StrokeDashArray="1 2" /> <zeus: Name="clrPicker" Margin="0,0,0,20" HorizontalAlignment="Center" SelectedColor="Orange" PaletteColorsTitle="Palette colors" StandardColorsTitle="Standard colors" CustomColorsTitle="Custom colors" NoColorTitle="No color" MoreColorsTitle="More colors..." MoreColorsOKButtonTitle="OK" MoreColorsCancelButtonTitle="Cancel" MoreColorsDialogButtonsWidth="70" /> Και άμεσα: VB (χωρίς binding): rect2.fill = clrpicker.selectedsolidcolorbrush Σελίδα 41

StandardColorsTitle Καθορίζει τον τίτλο στο τμήμα Standard colors, τύπου String. Σύνταξη: Public Property StandardColorsTitle As String Τύπος: System.String Προσδιορίζουμε μία τιμή String που θα αποτελεί τον τίτλο του τμήματος Standard colors στην τρέχουσα παλέτα. Η default τιμή είναι "Standard colors ". Dependency Property Information: Identifier field: StandardColorsTitleProperty Παράδειγμα: Στο επόμενο παράδειγμα, καθορίζουμε τον τίτλο "Typical colors" στο τμήμα Standard colors: XAML: <zeus: Name="clrPicker" Margin="0,0,0,20" HorizontalAlignment="Center" SelectedColor="Orange" PaletteColorsTitle="Palette colors" StandardColorsTitle="Typical colors" CustomColorsTitle="Custom colors" NoColorTitle="No color" MoreColorsTitle="More colors..." MoreColorsOKButtonTitle="ΟΚ" MoreColorsCancelButtonTitle="Cancel" MoreColorsDialogButtonsWidth="70" /> clrpicker.standardcolorstitle = "Typical colors" Σελίδα 42

Σελίδα 43

Συμβάντα Όνομα SelectedColorChanged Περιγραφή Ενεργοποιείται όταν αλλάζει το επιλεγμένο χρώμα, δηλαδή η τιμή της ιδιότητας SelectedColor. Σελίδα 44

SelectedColorChanged Ενεργοποιείται όταν αλλάζει τιμή η ιδιότητα SelectedColor. Σύνταξη: VB (ορισμός): Public Custom Event SelectedColorChanged As RoutedEventHandler XAML attribute usage: <zeus: SelectedColorChanged="eventHanlder"... /> Παράδειγμα: Στο επόμενο παράδειγμα, όταν αλλάζει ο χρήστης το επιλεγμένο χρώμα τότε η ιδιότητα Fill ενός Rectangle, με όνομα rect2, λαμβάνει το χρώμα αυτό και εμφανίζεται σε μήνυμα η δεκαεξαδική τιμή του. Αν και ο συνιστώμενος τρόπος, για την ιδιότητα Fill, είναι μέσω του μηχανισμού binding, εδώ θα ακολουθήσουμε τον παραδοσιακό τρόπο: XAML: <Rectangle Name="rect2" Width="150" Height="50" Margin="7" Stroke="YellowGreen" StrokeDashArray="1 2" /> <zeus: Name="clrPicker" Margin="0,0,0,20" HorizontalAlignment="Center" SelectedColor="Orange" PaletteColorsTitle="Palette colors" StandardColorsTitle="Standard colors" CustomColorsTitle="Custom colors" NoColorTitle="No color" MoreColorsTitle="More colors..." MoreColorsOKButtonTitle="OK" MoreColorsCancelButtonTitle="Cancel" MoreColorsDialogButtonsWidth="70" SelectedColorChanged="clrPicker_SelectedColorChanged" /> Imports Zeus.WPF.Controls.ColorControls... Private Sub clrpicker_selectedcolorchanged(sender As Object, _ e As SelectedColorChangedInEventArgs) rect2.fill = clrpicker.selectedsolidcolorbrush Σελίδα 45

End Sub MessageBox.Show(String.Format("The selected color is {0}", _ e.selectedcolor.tostring)) Σελίδα 46

Μέθοδοι Όνομα ResetCustomColors() Περιγραφή Διαγράφει όλα τα custom colors. Επιστρέφει True αν η διαδικασία είναι επιτυχής. Σελίδα 47

ResetCustomColors() Διαγράφει όλα τα custom colors. Επιστρέφει True αν η διαδικασία είναι επιτυχής. Σύνταξη: VB : Public Function ResetCustomColors() As Boolean Παρατηρήσεις: Η μέθοδος αυτή, αρχικοποιεί τις τιμές χρωμάτων στο αρχείο CustomColors.txt. Συγκεκριμένα, επαναφέρει την default τιμή #00FFFFFF (Transparent) και κάνει τα buttons του τμήματος Custom colors μη επιλέξιμα. Έτσι, ο χρήστης μπορεί να συνθέσει εκ νέου χρώματα. Παράδειγμα: If Not clrpicker.resetcustomcolors() Then MessageBox.Show("Problem on resetting the custom colors.") End If Πριν Μετά Σελίδα 48

Το αρχείο CustomColors.txt Το αρχείο αυτό περιέχει τις τιμές 20 custom colors που συνθέτει ο χρήστης. Είναι απαραίτητο για τη λειτουργικότητα του. Κατά τη φάση της ανάπτυξης, πρέπει να βρίσκεται στον ίδιο φάκελο που βρίσκεται το αρχείο έργου (.sln). Επίσης, πρέπει να συμπεριληφθεί στο φάκελο της διανομής (π.χ. bin\debug ή bin\release). Ένα δείγμα από το περιεχόμενο του αρχείου: CustomColor1=#FFAD8428 CustomColor2=#9D957DD7 CustomColor3=#3F76CD2E CustomColor4=#7AFF0000 CustomColor5=#00FFFFFF CustomColor6=#00FFFFFF CustomColor7=#00FFFFFF CustomColor8=#00FFFFFF CustomColor9=#00FFFFFF CustomColor10=#00FFFFFF CustomColor11=#00FFFFFF CustomColor12=#00FFFFFF CustomColor13=#00FFFFFF CustomColor14=#00FFFFFF CustomColor15=#00FFFFFF CustomColor16=#00FFFFFF CustomColor17=#00FFFFFF CustomColor18=#00FFFFFF CustomColor19=#00FFFFFF CustomColor20=#00FFFFFF Οι τιμές των χρωμάτων είναι δεκαεξαδικές. Η τιμή #00FFFFFF υποδηλώνει ότι δεν έχει οριστεί στο αντίστοιχο κουμπί του τμήματος Custom colors κάποιο χρώμα από το χρήστη και συνεπώς αυτό είναι μη επιλέξιμο. Αν ο χρήστης συνθέσει νέο χρώμα και οι 20 θέσεις έχουν συμπληρωθεί τότε αντικαθίσταται το πρώτο κ.ο.κ. Μπορείτε να επέμβετε εδώ απ' ευθείας και να προκαθορίσετε κάποια έτοιμα custom colors. Προσοχή, όμως, πρέπει να δοθεί ώστε η συμπλήρωση να γίνει σειριακά χωρίς να υπάρχει ενδιάμεσα κενό (τιμή #00FFFFFF). Σελίδα 49