1

Button、partition、ComboBoxの左から右に構成されたContentControlがあります。ComboBoxドロップダウンを、コンボボックスの左側ではなく、コントロールの左側に揃えたいと思います。相対配置などに関するドキュメントが見つからないようです。これに対処した人はいますか?TIA

4

1 に答える 1

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;
    }
}
于 2009-12-01T12:50:10.130 に答える