Изменить размер палитры 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).

Другие вопросы по тегам