ボタンの下に ContextMenu を配置しようとしています。ContextMenu の高さに基づいて VerticalOffset プロパティを設定しようとしています。これにより、アイテムの数に関係なく、メニューの上部が常に同じ場所に表示されます。メニューの高さを取得できないようです (おそらく、まだ描画されていないためですか?)。私のコードは以下のとおりです。ContextMenu の高さを取得するにはどうすればよいですか?
private void Button_Click(object sender, RoutedEventArgs e)
{
Button PopUpButton = (sender as Button);
PopUpButton.ContextMenu.IsEnabled = true;
PopUpButton.ContextMenu.PlacementTarget = PopUpButton;
PopUpButton.ContextMenu.Placement = System.Windows.Controls.Primitives.PlacementMode.Center;
PopUpButton.ContextMenu.VerticalOffset = ((PopUpButton.ContextMenu.Height / 2) + 25);
PopUpButton.ContextMenu.IsOpen = true;
}