【问题标题】:How to set the height of a MenuFlyout from c# in windows 10 UWP?如何在 Windows 10 UWP 中从 c# 设置 MenuFlyout 的高度?
【发布时间】:2015-11-10 11:56:02
【问题描述】:

我在 c# 中有一个 MenuFlyout,我想设置此弹出窗口的高度,因为它不包含 Height 属性,我该怎么做。

【问题讨论】:

  • 你试过在xaml中设置吗?我不确定 Windows 10,但我认为我已经在 Windows 8 中使用“高度”属性完成了
  • 否则您可以尝试将弹出窗口中的项目放大,看看弹出窗口的大小是否会自动调整
  • 是的,弹出窗口在它有太多项目后将开始有一个滚动查看器,但它看起来很尴尬,因此我想限制它的高度。由于我在 c# 中创建弹出窗口,因此无法通过 xaml 设置它!

标签: c# xaml windows-runtime uwp


【解决方案1】:

请在 C# 代码中试试这个:

private void menuFlyout_Opened(object sender, object e)
{         
    MenuFlyout m = sender as MenuFlyout;
    Style s = new Windows.UI.Xaml.Style { TargetType = typeof(MenuFlyoutPresenter) };
    s.Setters.Add(new Setter(MinHeightProperty, "800"));
    m.MenuFlyoutPresenterStyle = s;
}

这将获得与以下 XAML 代码相同的效果:

 <MenuFlyout Opened="menuFlyout_Opened">
       <MenuFlyout.MenuFlyoutPresenterStyle>
           <Style TargetType="MenuFlyoutPresenter">
              <Setter Property="MinHeight" Value="800" />
           </Style>
        </MenuFlyout.MenuFlyoutPresenterStyle>
  </MenuFlyout>

【讨论】:

  • 像魅力一样工作!谢谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-10-09
  • 2021-10-31
  • 2017-02-16
  • 2022-01-05
  • 2020-08-06
  • 2017-01-08
  • 1970-01-01
相关资源
最近更新 更多