获取UWP上MenuFlyout的实际宽度和高度

时间:2017-08-23 20:35:38

标签: uwp

有没有办法在UWP中获得MenyFlyout的实际宽度和高度?

我发现你可以设置MinWidth(非常有用,顺便说一句):

 MenuFlyout m = this as MenuFlyout;
 Style s = new Windows.UI.Xaml.Style { TargetType = typeof(MenuFlyoutPresenter) };
 s.Setters.Add(new Setter(MenuFlyoutPresenter.MinWidthProperty, _minWidth + ""));
 m.MenuFlyoutPresenterStyle = s;

我找不到简单查询宽度和高度的方法。

1 个答案:

答案 0 :(得分:1)

似乎我们无法获得UWP中MenyFlyout的实际宽度和高度。

  

您通常不会直接在XAML或代码中使用MenuFlyoutPresenter。而是将Me​​nuFlyoutPresenter类型引用为用于MenuFlyout.MenuFlyoutPresenterStyle属性的样式的TargetType。

有关详细信息,请参阅MenuFlyoutPresenter

我们无法使用MenuFlyoutPresenter.ActualWidth属性来获取实际宽度。

MenuFlyout的实际宽度取决于MinWidth的{​​{1}},MaxWidthMenuFlyoutPresenter的内容宽度。

如果您想获得适应页面的实际宽度和高度,您应该能够设置MenuFlyout的{​​{1}}和MinWidth。无论内容的宽度如何变化,MaxWidth对于您的网页都不能太大或太小。

例如:

MenuFlyoutPresenter