2015-11-10 38 views
0

我在c#中有一个MenuFlyout,我想设置这个弹出的高度,我怎样才能做到这一点,因为它不包含Height属性。如何从Windows 10 UWP中的c#设置MenuFlyout的高度?

+0

您是否尝试过在XAML中设置呢?我不知道Windows 10,但认为我已经在Windows 8中使用“高度”属性完成了 – Dave

+0

否则,您可以尝试使弹出窗口中的项目更大并查看弹出窗口的大小是否自动调整 – Dave

+0

是的,弹出窗口会启动有一个滚动查看器后,它有太多的项目,但它看起来很尴尬,因此我想限制其高度。由于我在c#中创建了弹出窗口,因此无法通过xaml进行设置! – AbsoluteSith

回答

3

请在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> 
+0

工程就像一个魅力!谢谢! – AbsoluteSith

相关问题