Jump to content



XAML... Να πουμε δυο πραγματα?


Recommended Posts

Γεια...

Λοιπον, ηθελα να ρωτησω: πως μπορω να αλλαξω το background color, το χρωμα ενος τετραγωνου για παραδειγμα, στην παραπανω γλωσσα?

Ακουγομαι καπως?

Η αληθεια ειναι οτι δεν εχω ιδεα απο αυτη τη γλωσσα προγραμματισμου ή απο άλλες γλωσσες προγραμματισμου.

Ρωταω ομως επειδη ισως ειναι κατι "ευκολο".

Να πουμε δυο πραγματα?

Ευχαριστω.

Link to comment
Share on other sites

Walkthrough: Create a Button by Using XAML

Για visual studio

Walkthrough: Create a Button by Using Microsoft Expression Blend

Για το Expression Blend

Αν βαριέσαι

<Button Content="Button" HorizontalAlignment="Left" Margin="10,10,0,0" VerticalAlignment="Top" Width="75" Foreground="#FF48F707" Background="#FFF3A407"/>

Το Background είναι αυτό που ψάχνεις.Foreground είναι το χρώμα του κειμένου στο Button.

Link to comment
Share on other sites

Walkthrough: Create a Button by Using XAML

Για visual studio

Walkthrough: Create a Button by Using Microsoft Expression Blend

Για το Expression Blend

Αν βαριέσαι

<Button Content="Button" HorizontalAlignment="Left" Margin="10,10,0,0" VerticalAlignment="Top" Width="75" Foreground="#FF48F707" Background="#FFF3A407"/>

Το Background είναι αυτό που ψάχνεις.Foreground είναι το χρώμα του κειμένου στο Button.

Γεια σου, ευχαριστω πολυ για την απαντηση!

Κοιτα να δεις τι γινεται...

Εχω εναν Aquaero 5 LT fan controller. Η Aquasuite, που τον λειτουργει, διαθετει αυτη τη γλωσσα, την XAML, και μπορεις να δημιουργησεις καποια "παραθυρα" -δεν μου ερχεται τωρα καλυτερη λεξη- ωστε να βλεπεις τις ενδειξεις που θες στο desktop σου. Αυτος ειναι ο λογος που σκεφτηκα να ασχοληθω λιγο με αυτη τη γλωσσα.

Να ενα screenshot του τι εννοω:

2ibi45t.png

Ο κωδικας που βλεπεις ειναι ενα Binding control -ή καπως ετσι- και αντιστοιχει στο παραθυρο που βλεπεις διπλα. [οχι σε ολα αυτα, αυτα που ανεφερονται στον ανεμιστηρα ειναι άλλο control και εχει μπει απο πανω]. Απεικονιζει τον CPU socket controller μου, που συνδυαζει/κοντρολαρει τρεις ανεμιστηρες. Εχω βαλει μονο τον εναν προς το παρων.

Εγω θελω να αλλαξω αυτο το γκρι χρωμα του background, σε κατι άλλο. Επισης, θελω εκει που λεει 95,07 να το κανω 95,07%, διοτι αυτο ειναι το σωστο.

Ειναι αυτο σχετικα ευκολο να γινει? Και πως?

Τo button το δημιουργησα, φαινεται διπλα!

Επισης, ΣΑΦΩΣ και θα κοιταξω τα links που μου εδωσες, αλλα μηπως γινεται τωρα αυτο που ρωταω, ωστε να το ευχαριστηθω και εγω λιγο? :)

Την γλωσσα αυτη θα πρεπει να την κοιταξω. Απο την στιγμη που την διαθετει η Aquasuite το χρειαζομαι.

Ευχαριστω.

Έγινε επεξεργασία από Ioanna
Link to comment
Share on other sites

Λοιπόν μιας και έχουμε σχόλια ας δοκιμάσουμε αυτό

Αρχικά βάζουμε την γραμμή

<Rectangle Grid.Row="0" Grid.RowSpan="2" Style="{StaticResource GadgetBackgroundStyle}"/>

σε σχόλια

<!-- <Rectangle Grid.Row="0" Grid.RowSpan="2" Style="{StaticResource GadgetBackgroundStyle}"/> -->

και απο κάτω γράφεις αυτό

<Rectangle Grid.Row="0" Grid.RowSpan="2" Fill="#FF138B13" />

αυτό θα σου κάνει όλο το background το χρώμα που θα επιλέξεις.Αν σου αλλάξει το χρώμα του τετργώνου που έχει την γραφική τότε σβήνεις την επιπλέον γραμμή uncomment την προηγούμενη και αλλάζεις το element Grid σε αυτό

<Grid Background="#FF13EA9C">

Για το label για να γίνει % θα πρέπει απλώς να προσθέσεις αυτό ContentStringFormat="{}{0} %" λογικά πρέπει να είναι το πρώτο label που βλέπεις κάτω από το Rectangle.

Για δοκίμασε μια τα παραπάνω

Link to comment
Share on other sites

Λοιπόν μιας και έχουμε σχόλια ας δοκιμάσουμε αυτό

Αρχικά βάζουμε την γραμμή

<Rectangle Grid.Row="0" Grid.RowSpan="2" Style="{StaticResource GadgetBackgroundStyle}"/>

σε σχόλια

<!-- <Rectangle Grid.Row="0" Grid.RowSpan="2" Style="{StaticResource GadgetBackgroundStyle}"/> -->

και απο κάτω γράφεις αυτό

<Rectangle Grid.Row="0" Grid.RowSpan="2" Fill="#FF138B13" />

αυτό θα σου κάνει όλο το background το χρώμα που θα επιλέξεις.Αν σου αλλάξει το χρώμα του τετργώνου που έχει την γραφική τότε σβήνεις την επιπλέον γραμμή uncomment την προηγούμενη και αλλάζεις το element Grid σε αυτό

<Grid Background="#FF13EA9C">

Για το label για να γίνει % θα πρέπει απλώς να προσθέσεις αυτό ContentStringFormat="{}{0} %" λογικά πρέπει να είναι το πρώτο label που βλέπεις κάτω από το Rectangle.

Για δοκίμασε μια τα παραπάνω

Α, σ' ευχαριστω παρα πολυ!! :)

Δουλεψε, να το αποτελεσμα:

2r7282x.png

Τραβηξα το Data Binding Object λιγο πιο περα, το διπλανο με τις τιμες του ανεμιστηρα ειναι άλλο object ή πως τα λενε...

Δουλεψε λοιπον, ευχαριστω ΠΟΛΥ, δεν ξερεις ποσο χαιρομαι!! :)

- Μηπως εχεις κανενα πινακα με τις τιμες των χρωματων σε αυτη τη μορφη ωστε να διαλεξω καποιο άλλο χρωμα?

- Απ' οτι ειδα, καταργησες το Style="{StaticResource GadgetBackgroundStyle}" και το αντικατεστησες με το Fill="#FF138B13", σωστα? Τοσο απλο ηταν?!

- Το σημαντικοτερο: απο που μπορω να αρχισω να διαβαζω 5 πραγματα για αυτη τη γλωσσα? Τι χρειαζομαι? Υπαρχει καποιο/καποια tutorials?

Τελευταια ερωτηση, ευχαριστω για την υπομονη σου: ειναι ευκολο ή δυσκολο να απεικονιζω την ημερομηνια/ωρα συστηματος μεσα στην Aquasuite με αυτη την γλωσσα? Φυσικα, εννοω in-real-time.

Thank you SO much!

Link to comment
Share on other sites

Για τα χρώματα

Colors Class (System.Windows.Media)

Η γραμμή Style="{StaticResource GadgetBackgroundStyle}" λέει ότι το Style που θα έχει το control είναι ένα staticResource με όνομα GadgetBackgroundStyle.Λογικά πρέπει να υπάρχει στα Resources του Αquasuite κάνε μια αναζήτηση εκεί που το έχεις εγκατεστημένο για .resx.Αυτά είναι απλά text αρχεία.

Για tutorial μπορείς να δεις στα links που έβαλα στο πρώτο post μου. Μιας και το Aquasuite είναι desktop εφαρμογή θα πρέπει να αρχίσεις να διαβάζεις για WPF(Windows Presentation Foundation) αυτό περιλαμβάνει και την XAML πάνε πακέτο.

Για να τρέξεις τα tutorials θα χρειαστείς είτε το

Visual Studio 2013 for Windows Desktop

Visual Studio Express

ή το Expression Blend

Microsoft Expression Changes | Microsoft Expression.

Για διαφορές ανάμεσα στα 2 διάβασε εδώ Getting started with Blend for Visual Studio 2013

Link to comment
Share on other sites

Ενταξει παιδια, ευχαριστω πολυ, θα τα κοιταξω με πρωτη ευκαιρια, συντομα!

Βασικα, τωρα θελω να τελειωσω με την κατασκευη των Overview pages (της Aquasuite) διοτι την ξαναπιασα απο την αρχη.

Μετα θα κοιταξω λιγο και αυτη τη γλωσσα διοτι θελω να καταλαβω τι παιζεται...

Θα επανερχομαι εδω για τυχον ερωτησεις...

Μια τελευταια ερωτηση να ξανακανω: τελικα, ειναι πολυ δυσκολο να φτιαχτει ενα object control μεσα στην Aquasuite το οποιο να απεικονιζει την τρεχουσα ωρα και ημερομηνια του συστηματος? Εχει πολυ δουλεια κατι τετοιο?

[MENTION=1215]nucleus[/MENTION]

Εψαξα στο directory της Aquasuite αλλα αρχεια με τετοια καταληξη δεν βρηκα. Εμφανισα και τους hidden folders αλλα ουτε και τοτε δεν τα ειδα.

Link to comment
Share on other sites

Αφού δεν τα βρήκες δεν έγινε κάτι.Μερικές φορές τα κάνουν embedded άρα δεν υπάρχουν σαν ξεχωριστά αρχεία.

Θες στα ελληνικά την ημερομηνία και την ώρα?

O πιο απλός είναι

<Label Content="{x:Static sys:DateTime.Now}" ContentStringFormat='{}{0:dddd, MMMM dd, yyyy HH:MM}'/>

Αποτέλεσμα: Wednesday,Septermber 17,2014 15:09

Για να αλλάξεις το format απλώς αλλάζεις ότι υπάρχει μετά την : στο ContentStringFormat. Για περισσότερες πληροφορίες εδώ

Custom Date and Time Format Strings

Έγινε επεξεργασία από nucleus
Link to comment
Share on other sites

Αφού δεν τα βρήκες δεν έγινε κάτι.Μερικές φορές τα κάνουν embedded άρα δεν υπάρχουν σαν ξεχωριστά αρχεία.

Θες στα ελληνικά την ημερομηνία και την ώρα?

Οχι, οχι στα Ελληνικα, καλε!

Στα Αγγλικα!! (American English)

Βασικα, εγω στα Αγγλικα Windows 7 Home Premium 64bit δουλευω, απλα εχω εγκαταστησει και την Ελληνικη γλωσσα.

:)

Link to comment
Share on other sites

Αφού δεν τα βρήκες δεν έγινε κάτι.Μερικές φορές τα κάνουν embedded άρα δεν υπάρχουν σαν ξεχωριστά αρχεία.

Θες στα ελληνικά την ημερομηνία και την ώρα?

O πιο απλός είναι

<Label Content="{x:Static sys:DateTime.Now}" ContentStringFormat='{}{0:dddd, MMMM dd, yyyy HH:MM}'/>

Αποτέλεσμα: Wednesday,Septermber 17,2014 15:09

Για να αλλάξεις το format απλώς αλλάζεις ότι υπάρχει μετά την : στο ContentStringFormat. Για περισσότερες πληροφορίες εδώ

Custom Date and Time Format Strings

Το εβαλα, σε ενα empty item, αλλα μου βγαζει αυτο:

wl4mlw.png

Επισης, ενα τελευταιο που θελω να ρωτησω (και με καιει!) ειναι το εξης: πως μειωνω τον αριθμο των δεκαδικων ψηφιων σε μια απεικονιζομενη τιμη? Βλεπετε στη παραπανω εικονα που απεικονιζω το Current Download rate? Το συμβολο kB/s = kiloByte per second, το προσθεσα εγω με την παραπανω μεθοδο (που βαλαμε το % symbol). Ενω ομως στο HWiNFO64, απο οπου διαβαζονται ολες αυτες οι τιμες για λογαριασμο της Aquasuite, την τιμη αυτη την εχω με 2 δεκαδικα, μεσα στην Aquasuite μου την φερνει με 3 δεκαδικα.

Πως μειωνεται ο αριθμος των δεκαδικων ψηφιων? Ή καλυτερα, πως οριζεται ο αριθμος τους?

Ευχαριστω παρα πολυ!!

ΑΝ λυθει και αυτο, μετα δεν εχω κατι άλλο, νομιζω.

Link to comment
Share on other sites

Λογικότατο να πετάει error μιας και παρέλειψα να σημειώσω ότι πρέπει να προστέσεις και το παραπάνω

xmlns:sys="clr-namespace:System;assembly=mscorlib" πάνω πάνω στο αρχείο.Συγνώμη για την παράλειψη.

Για να μειώσεις τα δεκαδικά υπάρχει format modifier στο ContentStringFormat αλλά τοπικά που το δοκιμάζω δεν παίζει και δεν έχω ιδέα γιατί

Έγινε επεξεργασία από nucleus
Link to comment
Share on other sites

Λογικότατο να πετάει error μιας και παρέλειψα να σημειώσω ότι πρέπει να προστέσεις και το παραπάνω

xmlns:sys="clr-namespace:System;assembly=mscorlib" πάνω πάνω στο αρχείο.Συγνώμη για την παράλειψη.

Ευχαριστω, το εκανα, δεν βγαζει λαθος. Ομως, πρωτον δεν απεικονιζεται η σωστη ωρα, και δευτερον και κυριοτερο, η ωρα δεν αλλαζει! Παραμενει στατικη. Δεν δειχνει την τρεχουσα ωρα. Εβαλα και δευτερολεπτα. Μπορει να γινει κατι?

Τελος, για τον ορισμο των δεκαδικων ψηφιων μιας τιμης, μπορω να κανω κατι? EDIT: πες μου σε παρακαλω την εντολη γι' αυτον τον modifier να δω μηπως δουλεψει σε μενα :)

Ευχαριστω πολυ! :)

Και συγνωμη που ξεχασα να πω οτι εχω ορισει (φυσικα) το Windows Locale στο Greek. [Region and Language]

2nl8gmr.png

Έγινε επεξεργασία από Ioanna
Link to comment
Share on other sites

Δεν την ανανεώνει realtime την ώρα για να γίνει αυτό πρέπει να γράψεις κώδικα.

Όσο για τα δεκαδικά δοκίμασε αυτό

ContentStringFormat='{}{0:#,0} στο label που έχει Binding για τα ΚΒ/s

Link to comment
Share on other sites

Δεν την ανανεώνει realtime την ώρα για να γίνει αυτό πρέπει να γράψεις κώδικα.

Όσο για τα δεκαδικά δοκίμασε αυτό

ContentStringFormat='{}{0:#,0} στο label που έχει Binding για τα ΚΒ/s

Ευχαριστω! Δειχνει ενταξει τωρα!!

Βασικα, εκοψε εντελως τα δεκαδικα ψηφια, δεν ξερω ΑΝ αυτος ειναι ο σκοπος της εντολης.

Η εντολη ολοκληρη εχει τωρα ως εξης:

ContentStringFormat="{}{0:#,0} kB/s"

Επαιξα λιγο μαζι της μπας και καταφερω να εμφανισω ενα ή δυο δεκαδικα αλλα δεν...

Καλυτερα παντως, πολυ καλυτερα, απο το να εχω τρια δεκαδικα!

Οσο για την ημερομηνια/ωρα, ΟΚ, το ξεχναω.

Αυτες οι απλες εντολες που αλλαζουν το χρωμα του background και κοβουν τα δεκαδικα ειναι για μενα οτι ακριβως χρειαζομαι για να συνεχισω! ΑΝ θες εξηγησε λιγο πως λειτουργει η παραπανω εντολη, αν οχι - κανενα προβλημα. :)

Ευχαριστω και παλι, να ειστε καλα :)

Link to comment
Share on other sites

Το παραπάνω "φορμάρει" το string που αποτελεί το Content (περιεχόμενο) του Label πριν το δείξει.

Για το τι κάνει το # και το 0 διαβάζεις εδώ Custom Numeric Format Strings

Βασικά τώρα που το βλέπω έχουμε βάλει ,(κόμμα) και όχι .(τελεία).Για δοκίμασε το μια με την τελεία αντί για το κόμμα

Εναλλακτικά μπορείς να δοκιμάσεις και το παρακάτω

ContentStringFormat="{}{0:Ν2} kB/s"

κοινώς numeric τιμή με 2 δεκαδικά.

Link to comment
Share on other sites

Το παραπάνω "φορμάρει" το string που αποτελεί το Content (περιεχόμενο) του Label πριν το δείξει.

Για το τι κάνει το # και το 0 διαβάζεις εδώ Custom Numeric Format Strings

Βασικά τώρα που το βλέπω έχουμε βάλει ,(κόμμα) και όχι .(τελεία).Για δοκίμασε το μια με την τελεία αντί για το κόμμα

Εναλλακτικά μπορείς να δοκιμάσεις και το παρακάτω

ContentStringFormat="{}{0:Ν2} kB/s"

κοινώς numeric τιμή με 2 δεκαδικά.

ΜΠΡΑΒΟ ρε Αρχηγε!!! :banging:

ΔΟΥΛΕΥΕΙ!! :)

Συγκεκριμενα, συμβαινουν τα εξης:

- Η εντολη ContentStringFormat="{}{0:#.0} kB/s" δειχνει ενα δεκαδικο ψηφιο (παραδειγμα: 1,5 kB/s) αλλα οταν η τιμη ειναι μικροτερη του 1 τοτε δειχνει ,6 kB/s, για παραδειγμα. Τρωει/κοβει δηλαδη το 0.

- Η εντολη ContentStringFormat="{}{0:Ν2} kB/s" τα δειχνει κανονικα! Πχ. 0,78 kB/s

Αν δε, ορισω Ν3 ή Ν5, δειχνει 3 ή 5 δεκαδικα αντιστοιχα, παντοτε με το 0 μπροστα οταν τιμη <1

Ευχαριστωωω!!!:T::T:

Μα ΤΙ ΩΡΑΙΟ που ειναι να τα Λυνεις ολα αυτα σε ενα απογευμα!!

Έγινε επεξεργασία από Ioanna
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Δημιουργία...

Important Information

Ο ιστότοπος theLab.gr χρησιμοποιεί cookies για να διασφαλίσει την καλύτερη εμπειρία σας κατά την περιήγηση. Μπορείτε να προσαρμόσετε τις ρυθμίσεις των cookies σας , διαφορετικά θα υποθέσουμε ότι είστε εντάξει για να συνεχίσετε.