WPF ComboBox DropDown Размещение - PullRequest
       13

WPF ComboBox DropDown Размещение

1 голос
/ 01 декабря 2009

У меня есть ContentControl, состоящий слева направо из кнопки, раздела и ComboBox. Я хочу, чтобы раскрывающийся список ComboBox совпал с левой стороной элемента управления, а не с левой стороной поля со списком. Не могу найти документы по относительному размещению и т. Д. Кто-нибудь имел дело с этим? ТИА

1 Ответ

4 голосов
/ 01 декабря 2009

Я делал что-то похожее раньше - в конечном итоге я наследовал ComboBox, получил всплывающую часть элемента управления и использовал CustomPopupPlacementCallback для его позиционирования. Как то так ...

class MyComboBox : ComboBox
{
    public override void OnApplyTemplate()
    {
        base.OnApplyTemplate();

        var popup = (Popup)Template.FindName("PART_Popup", this);
        popup.Placement = PlacementMode.Custom;
        popup.CustomPopupPlacementCallback = placePopup;
    }

    private CustomPopupPlacement[] placePopup(Size popupSize, Size targetSize, Point offset)
    {
        var placements = new[] { new CustomPopupPlacement() };
        placements[0].Point = // position the drop-down here!
        return placements;
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...