Frage

Ich habe einen Content von links nach rechts besteht aus einem Knopf, partitionieren und ComboBox. Ich möchte, dass die ComboBox Dropdown mit der linken Seite des Steuer aufreihen wie auf der linken Seite der Combobox gegenüber. Kann nicht scheinen, mit dieser docs auf Relative Platzierung, etc. Jeder behandelt zu finden? TIA

War es hilfreich?

Lösung

Ich habe etwas getan ähnlich vor - ich am Ende von ComboBox abzuleiten, immer den Popup-Teil der Steuerung und mit dem CustomPopupPlacementCallback zu positionieren. So etwas wie dies ...

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;
    }
}
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top