Изменить размер палитры ColorPicker
Из-за некоторых ограничений размера графического интерфейса я хотел бы изменить размер цветовой палитры XCeed ColorPicker. Ширина кнопки меньше, чем выпадающий список; Я просто хочу изменить ширину всплывающего окна (или высоту), чтобы наложить макет из доступных стандартных цветов. По умолчанию у нас есть 10 столбцов цветов, я хотел бы иметь 6 или 8 столбцов цветов. Есть ли способ сделать это?
1 ответ
В шаблоне по умолчанию для ColorPicker вы заметите ListBox с именем "PART_AvailableColors". Этот ListBox использует стиль под названием "ColorListStyle". В этом стиле мы устанавливаем свойство ItemsPanel как WrapPanel шириной 200.
<Style x:Key="ColorListStyle" TargetType="ListBox">
<!-- ... --->
<Setter Property="ItemsPanel">
<Setter.Value>
<ItemsPanelTemplate>
<WrapPanel Width="200" />
</ItemsPanelTemplate>
</Setter.Value>
</Setter>
<!-- ... --->
</Style>
К сожалению, в настоящее время нет встроенного способа простого изменения макета ColorPicker, поэтому на данный момент единственный вариант, который я могу предложить, - это изменить шаблон / стиль в вашем коде, чтобы установить другую ширину на WrapPanel.
Шаблоны и стили по умолчанию можно найти в исходном коде, который поставляется с инструментарием.
Изменить: свойство MaxDropDownWidth
был добавлен в ColorPicker для настройки ширины всплывающего окна (новое в версии 3.1).