PopupColorEditor¶
Библиотека контролов Eremex включает в себя контрол PopupColorEditor
, который позволяет отображать цвет в поле редактирования и выбирать цвет из связанного всплывающего окна.
Основные функции контрола включают в себя:
- Настраиваемая цветовая палитра по умолчанию.
- Стандартная цветовая палитра.
- Пользовательская цветовая палитра, которая может быть настроена пользователями.
- Встроенный диалог позволяет выбирать цвета с помощью диалога Выбора Цвета или путем указания отдельных цветовых компонентов в формате RGB или HSB.
Выберите цвет¶
Пользователь может выбрать цвет, используя цветовые палитры, отображаемые в всплывающем окне.
В коде вы можете указать цвет или прочитать выбранный в данный момент цвет с помощью свойства PopupColorEditor.Color
или PopupColorEditor.EditorValue
. Эти свойства синхронизированы. Они различаются типом значения: свойство Color
имеет тип Color
с возможностью обнуления, в то время как свойство EditorValue
имеет тип object
, как и во всех редакторах Eremex.
Палитры¶
PopupColorEditor
поддерживает три палитры: по умолчанию, стандартную и пользовательскую. Используйте свойство PopupColorEditor.ColorsShowMode
, чтобы настроить видимость отдельных палитр. Свойство ColorsShowMode
определено как набор флагов.
Дефолтная цветовая палитра¶
Палитра по умолчанию отображает набор предопределенных цветов.
Вы можете заменить эти цвета пользовательской палитрой, используя следующий код:
List<uint> fluentIntColors = new List<uint>()
{
0xffef6950, 0xffc30052, 0xff0063b1, 0xff881798, 0xff018574, 0xff515c6b, 0xff4c4a48, 0xff7e735f,
0xffda3b01, 0xffea005e, 0xff0078d7, 0xffb146c2, 0xff00b294, 0xff68768a, 0xff767676, 0xff847545,
0xffca5010, 0xffe81123, 0xff9a0089, 0xff744da9, 0xff038387, 0xff5d5a57, 0xff107c10, 0xff525e54,
0xfff7630c, 0xffe74856, 0xffc239b3, 0xff8764b8, 0xff00b7c3, 0xff7a7574, 0xff498205, 0xff647c64
};
List<Color> fluentColors = new List<Color>();
fluentIntColors.ForEach(intColor => fluentColors.Add(Color.FromUInt32(intColor)));
ColorPalette colorPalette = new Eremex.AvaloniaUI.Controls.Editors.CustomPalette("myPalette", fluentColors);
popupColorEditor1.ThemePalette = colorPalette;
Стандартная цветовая палитра¶
Включите флаг StandardColors
в значении свойства ColorsShowMode
, чтобы отобразить палитру "Стандартные цвета".
<mxe:PopupColorEditor
Width="190" Height="30"
Name="popupColorEditor1"
ColorsShowMode="StandardColors,CustomColors"/>
Пользовательская цветовая палитра¶
Включите флаг CustomColors
в значение свойства ColorsShowMode
, чтобы отобразить палитру "Пользовательские цвета".
Пользователи могут добавлять и настраивать цвета в пользовательской палитре во время выполнения программы. Нажмите кнопку "+", чтобы добавить цвет.
Щелкните правой кнопкой мыши на существующем цвете, чтобы открыть контекстное меню, позволяющее изменять и удалять цвет.
Вы можете заранее заполнить палитру "Пользовательские цвета" в коде, используя свойство CustomColors
.
Пример - Как настроить пользовательскую палитру¶
Следующий код включает пользовательскую палитру цветов и заполняет ее с помощью свойства CustomColorCollection, определенного в ViewModel.
xmlns:mxe="https://schemas.eremexcontrols.net/avalonia/editors"
xmlns:sys="clr-namespace:System;assembly=mscorlib"
xmlns:local="clr-namespace:ComboBoxTestSample"
<Window.DataContext>
<local:MainViewModel/>
</Window.DataContext>
<mxe:PopupColorEditor ColorsShowMode="CustomColors"
CustomColors="{Binding CustomColorCollection}"/>
using Avalonia.Media;
using CommunityToolkit.Mvvm.ComponentModel;
using System.Collections.ObjectModel;
[ObservableObject]
public partial class MainViewModel
{
public MainViewModel()
{
CustomColorCollection = new ObservableCollection<Color>()
{
Color.FromRgb(0x7d, 0xd7, 0xab),
Color.FromRgb(0xc5, 0x94, 0x88),
Color.FromRgb(0x47, 0xfe, 0xff),
Color.FromRgb(0xe9, 0xbf, 0x3f),
};
}
[ObservableProperty]
ObservableCollection<Color> customColorCollection;
}
Диалог выбора цвета¶
Когда пользователь нажимает кнопку "+" или щелкает правой кнопкой мыши на существующем цветовом поле в пользовательской палитре, редактор активирует диалоговое окно "Диалог Выбора Цвета".
Пользовательский интерфейс диалогового окна содержит диалог Выбора Цвета и контролы для указания компонентов цвета в формате RGB или HSB.
Связанный API¶
ShowAlphaChannel
— Позволяет скрыть контролы, используемые для указания альфа-компонента цвета.PopupFooterButtons
— Указывает, следует ли отображать кнопки "Применить" и "Отмена" в диалоговом окне выбора цвета. Если для свойства задано значениеOkCancel
, пользователю необходимо нажать кнопку Применить, чтобы подтвердить выбор цвета. Нажатие на кнопку "Назад" или "Отмена" отменяет диалоговое окно.
Предотвращение всплывающих окон в редакторах, доступных только для чтения¶
Дефолтное поведение любого Popup Editor заключается в том, чтобы разрешить пользователю открывать всплывающее окно редактора даже в режиме только для чтения, хотя он не может изменять значения ни через поле редактирования, ни через всплывающее окно.
Чтобы отключить всплывающие окна для редакторов, доступных только для чтения, установите для свойства ShowPopupIfReadOnly
значение false
.
* Эта страница была создана автоматически с помощью сервиса машинного перевода Яндекс Переводчик.