2013-06-13 10 views
13

Devo creare un selettore di colori nella mia applicazione WPF. Quando clicco su qualsiasi colore, il codice di quel colore dovrebbe venire in una casella di testo. Ho cercato spesso su Google ma non ho trovato nulla che corrispondesse al mio requisito. Per favore condividi se hai fatto così prima.Implementazione selettore colori WPF

+0

Questo controllo, come menzionato qui sotto, esiste già, quindi è meglio usarlo se non provare a ricrearlo, a meno che non si abbia qualche problema specifico che non è possibile risolvere con esso. –

+0

"Ho cercato, ma niente di tutto questo era plug and play code, e non voglio fare alcuna programmazione vera e propria, quindi fatelo anche per me?" – Krythic

risposta

33

Come ha detto Jodha, è necessario utilizzare il controllo Color Picker da WpfToolkit Extended. Attuare il Selettore di controllo a colori è facile, basta fare qualcosa di simile:

mettere questo nel vostro oggetto Window:

xmlns:xctk="http://schemas.xceed.com/wpf/xaml/toolkit" 

E questo ovunque si desidera che il selettore di colori.

<xctk:ColorPicker Name="ClrPcker_Background" SelectedColorChanged="ClrPcker_Background_SelectedColorChanged"></xctk:ColorPicker> 

Poi, tutto quello che dovete fare è utilizzare l'evento SelectedColorChanged per modificare il testo nella casella di testo, in questo modo:

private void ClrPcker_Background_SelectedColorChanged(object sender, RoutedPropertyChangedEventArgs<Color> e) 
{ 
    TextBox.Text = "#" + ClrPcker_Background.SelectedColor.R.ToString() + ClrPcker_Background.SelectedColor.G.ToString() + ClrPcker_Background.SelectedColor.B.ToString(); 
} 

Spero che questo aiuti!

+8

Puoi anche associare il 'ColorPicker.SelectedColorProperty' a una proprietà' System.Windows.Media.Color' e associare il 'TextBox' alla proprietà e usare un' Converter' per cambiarlo al valore ARGB, in questo modo puoi usa 'TextBox' per cambiare anche il colore. –

+2

Errore: Colorpicker non esiste in xmlns: xctk = "http://schemas.xceed.com/wpf/xaml/toolkit" nel mio file xaml –

+0

@NareshKumar Ho appena scaricato Xceed.Wpf.Toolkit e uso l'assembly anziché. –

4

Dai un'occhiata al controllo ColorBox in codeplex. Puoi anche creare sfumature lineari e radiali con esso.

Problemi correlati