Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Renk seçici, renklere göz atmak ve renkleri seçmek için kullanılır. Varsayılan olarak, kullanıcının renk yelpazesindeki renklerde gezinmesini veya Kırmızı-Green-Blue (RGB), Ton-Saturation-Value (HSV) veya Onaltılık metin kutularında bir renk belirtmesini sağlar.
Doğru kontrol bu mu?
Kullanıcının uygulamanızdaki renkleri seçmesine izin vermek için renk seçiciyi kullanın. Örneğin, yazı tipi renkleri, arka plan veya uygulama teması renkleri gibi renk ayarlarını değiştirmek için bunu kullanın.
Uygulamanız kalem kullanarak çizim veya benzer görevlere yönelikse, Mürekkep oluşturma denetimlerini renk seçici ile birlikte kullanmayı göz önünde bulundurun.
Recommendations
- Uygulamanız için ne tür bir renk seçme deneyiminin uygun olduğunu düşünün. Bazı senaryolar ayrıntılı renk toplama gerektirmeyebilir ve basitleştirilmiş bir seçiciden yararlanabilir
- En doğru renk seçme deneyimi için kare spektrumu kullanın ve en az 256x256px olduğundan emin olun veya kullanıcıların seçilen renklerini iyileştirmelerini sağlamak için metin girişi alanlarını ekleyin.
- Açılır öğede kullanıldığında, spektruma dokunmak veya kaydırıcıyı tek başına ayarlamak renk seçimini işlememelidir. Seçimi işlemek için:
- Seçimi uygulamak veya iptal etmek için işleme ve iptal düğmeleri sağlayın. Geri düğmesine basmak veya açılır düğmenin dışına dokunmak bu düğmeyi kapatacak ve kullanıcının seçimini kaydetmeyecektir.
- Alternatif olarak, açılır pencereyi kapatarak, açılır pencerenin dışına dokunarak veya geri düğmesine basarak seçimi onaylayın.
Renk seçici oluşturma
- Önemli API'ler:ColorPicker sınıfı, Color özelliği, ColorChanged olayı
![]()
WinUI 3 Galeri uygulaması, WinUI denetimlerinin ve özelliklerinin etkileşimli örneklerini içerir. uygulamayı Microsoft Store adresinden alın veya GitHub üzerindeki kaynak koduna göz atın.
Bu örnekte, XAML'de varsayılan renk seçicinin nasıl oluşturulacağı gösterilmektedir.
<ColorPicker x:Name="myColorPicker"/>
Varsayılan olarak, renk seçici seçilen rengin önizlemesini renk spektrumunun yanındaki dikdörtgen çubukta gösterir. Seçilen renge erişmek ve bunu uygulamanızda kullanmak için ColorChanged olayını veya Color özelliğini kullanabilirsiniz. Ayrıntılı kod için aşağıdaki örneklere bakın.
Seçilen renge bağlama
Renk seçiminin hemen etkili olması gerektiğinde, Color özelliğine veri bağlamayı kullanarak bağlanabilir veya seçilen renge erişmek için ColorChanged olayını kullanabilirsiniz.
Bu örnekte, Bir Dikdörtgen için Dolgu olarak kullanılan SolidColorBrush'ın Color özelliğini doğrudan renk seçicinin seçili rengine bağlarsınız. Renk seçicide yapılan herhangi bir değişiklik, ilişkili özellikte canlı bir değişiklikle sonuçlanır.
<ColorPicker x:Name="myColorPicker"
ColorSpectrumShape="Ring"
IsColorPreviewVisible="False"
IsColorChannelTextInputVisible="False"
IsHexInputVisible="False"/>
<Rectangle Height="50" Width="50">
<Rectangle.Fill>
<SolidColorBrush Color="{x:Bind myColorPicker.Color, Mode=OneWay}"/>
</Rectangle.Fill>
</Rectangle>
Bu örnekte yalnızca daire ve kaydırıcı ile basitleştirilmiş bir renk seçici kullanılır ve bu da yaygın bir "gündelik" renk seçme deneyimidir. Etkilenen nesnede renk değişikliği gerçek zamanlı olarak görülebiliyor ve gerçekleşebiliyorsa, renk önizleme çubuğunu göstermeniz gerekmez. Daha fazla bilgi için renk seçiciyi özelleştirme bölümüne bakın.
Seçilen rengi kaydetme
Bazı durumlarda renk değişikliğini hemen uygulamak istemezsiniz. Örneğin, bir açılır öğede bir renk seçici barındırdığınızda, seçilen rengi yalnızca kullanıcı seçimi onayladıktan veya açılır öğeyi kapattıktan sonra uygulamanızı öneririz. Seçili renk değerini daha sonra kullanmak üzere de kaydedebilirsiniz.
Bu örnekte, Bir Açılır Öğede Onayla ve İptal düğmeleriyle bir renk seçici barındıracaksınız. Kullanıcı renk seçimini onayladığında, seçili rengi uygulamanızda daha sonra kullanmak üzere kaydedersiniz.
<Page.Resources>
<Flyout x:Key="myColorPickerFlyout">
<RelativePanel>
<ColorPicker x:Name="myColorPicker"
IsColorChannelTextInputVisible="False"
IsHexInputVisible="False"/>
<Grid RelativePanel.Below="myColorPicker"
RelativePanel.AlignLeftWithPanel="True"
RelativePanel.AlignRightWithPanel="True">
<Grid.ColumnDefinitions>
<ColumnDefinition/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<Button Content="OK" Click="confirmColor_Click"
Margin="0,12,2,0" HorizontalAlignment="Stretch"/>
<Button Content="Cancel" Click="cancelColor_Click"
Margin="2,12,0,0" HorizontalAlignment="Stretch"
Grid.Column="1"/>
</Grid>
</RelativePanel>
</Flyout>
</Page.Resources>
<Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
<Button x:Name="colorPickerButton"
Content="Pick a color"
Flyout="{StaticResource myColorPickerFlyout}"/>
</Grid>
private Color myColor;
private void confirmColor_Click(object sender, RoutedEventArgs e)
{
// Assign the selected color to a variable to use outside the popup.
myColor = myColorPicker.Color;
// Close the Flyout.
colorPickerButton.Flyout.Hide();
}
private void cancelColor_Click(object sender, RoutedEventArgs e)
{
// Close the Flyout.
colorPickerButton.Flyout.Hide();
}
Renk seçiciyi yapılandırma
Bir kullanıcının renk seçmesine izin vermek için tüm alanlar gerekli değildir, bu nedenle renk seçici esnektir. Denetimi gereksinimlerinize uyacak şekilde yapılandırmanıza olanak sağlayan çeşitli seçenekler sunar.
Örneğin, kullanıcının not alma uygulamasında vurgulayıcı rengi seçme gibi hassas bir denetime ihtiyacı olmadığında, basitleştirilmiş bir kullanıcı arabirimi kullanabilirsiniz. Metin girişi alanlarını gizleyebilir ve renk spektrumunu daire olarak değiştirebilirsiniz.
Kullanıcının grafik tasarım uygulamasında olduğu gibi hassas denetime ihtiyacı olduğunda, rengin her yönü için hem kaydırıcıları hem de metin girişi alanlarını gösterebilirsiniz.
Daire spektrumunu gösterme
Bu örnekte, renk seçiciyi varsayılan kare yerine dairesel bir spektrum kullanacak şekilde yapılandırmak için ColorSpectrumShape özelliğinin nasıl kullanılacağı gösterilmektedir.
<ColorPicker x:Name="myColorPicker"
ColorSpectrumShape="Ring"/>
Kare ve daire renk spektrumu arasında seçim yapmanız gerektiğinde, öncelikli olarak doğruluk dikkate alınır. Bir kullanıcının kare kullanarak belirli bir rengi seçtiğinde daha fazla denetimi vardır çünkü renk gamutunun daha fazlası gösterilir. Daire spektrumunu daha çok "gündelik" renk seçimi deneyimi olarak düşünmelisiniz.
Alfa kanalını gösterme
Bu örnekte, renk seçicide opaklık kaydırıcısını ve metin kutusunu etkinleştirebilirsiniz.
<ColorPicker x:Name="myColorPicker"
IsAlphaEnabled="True"/>
Basit bir seçici göster
Bu örnekte renk seçiciyi "gündelik" kullanım için basit bir kullanıcı arabirimiyle yapılandırma gösterilmektedir. Dairesel spektrumu gösterir ve varsayılan metin giriş kutularını gizlersiniz. Etkilenen nesnede renk değişikliği gerçek zamanlı olarak görülebiliyor ve gerçekleşebiliyorsa, renk önizleme çubuğunu göstermeniz gerekmez. Aksi takdirde, renk önizlemesini görünür bırakmanız gerekir.
<ColorPicker x:Name="myColorPicker"
ColorSpectrumShape="Ring"
IsColorPreviewVisible="False"
IsColorChannelTextInputVisible="False"
IsHexInputVisible="False"/>
Düzen yönünü belirtme
ColorPicker'ın dikey veya yatay olarak hizalanıp hizalanmayacağını belirtmek için Orientation özelliğini kullanın. Bu, düzenleme denetimlerinin renk spektrumuyla ilgili konumunu etkiler. Yönlendirme varsayılan olarak Dikey'dir.
<ColorPicker IsAlphaEnabled="True"
Orientation="Horizontal"/>
Ek özellikleri gösterme veya gizleme
Bu tabloda ColorPicker denetimini yapılandırmak için kullanabileceğiniz tüm seçenekler gösterilir.
| Özellik | Özellikler |
|---|---|
| Renk spektrumu | RenkSpektrumuGörünürMü, RenkSpektrumuŞekli, RenkSpektrumuBileşenleri |
| Renk önizlemesi | RenkÖnizlemesiGörünürMü |
| Renk değerleri | Renk Kaydırıcısı Görünür, Renk Kanalı Metin Girişi Görünür |
| Opaklık değerleri | AlphaAktif, AlphaKaydırmaÇubuğuGörünür, AlphaMetinGirişiGörünür |
| Onaltılık değerler | HexGirişiGörünürMü |
Uyarı
Opaklık metin kutusunu ve kaydırıcıyı göstermek için IsAlphaEnabled true olmalıdır. Ardından, giriş denetimlerinin görünürlüğü IsAlphaTextInputVisible ve IsAlphaSliderVisible özellikleri kullanılarak değiştirilebilir. Ayrıntılar için API belgelerine bakın.
İlgili makaleler
- Windows uygulamalarında Pen ve ekran kalemi etkileşimleri
- Mürekkepleme
Windows developer