2009-12-01 8 views
1

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

ответ

4

Я делал что-то подобное раньше - я закончил с 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; 
    } 
} 
+0

Это будет сделано. Спасибо! – Brad

Смежные вопросы