2015-09-04 35 views
2

MenuFlyout是这样定义的。我不想只在TextFlyoutItem中设置Text,我想要一个可以容纳一个Image和一个TextBox的StackPanel。如何在Windows 8.1应用程序的MenuFlyoutItem中使用StackPanel xaml

<MenuFlyout x:Key="HeaderMenuFlyout"> 
     <MenuFlyout.MenuFlyoutPresenterStyle> 
      <Style TargetType="MenuFlyoutPresenter"> 
       <Setter Property="BorderBrush" Value="CornflowerBlue"/> 
       <Setter Property="BorderThickness" Value="5"/> 
      </Style> 
     </MenuFlyout.MenuFlyoutPresenterStyle> 
     <MenuFlyoutItem Text="Cloud" 
         Tag="Cloud" /> 
     <MenuFlyoutItem Text="This PC" Tag="This PC"/> 

    </MenuFlyout> 

我该怎么做?这是一个例子 From the OneDrive Windows 8.1 app

+0

你真的需要MenuFlyout吗?或者您可以只使用弹出窗口? – Lance

回答

5

这将是一个快速但肮脏的方式。

<MenuFlyoutItem Text="Hello" > 
<MenuFlyoutItem.Template> 
    <ControlTemplate TargetType="MenuFlyoutItem"> 
    <StackPanel Orientation="Horizontal"> 
    <SymbolIcon Symbol="Clock" /> 
    <TextBlock Text="{TemplateBinding Text}" />      
    </StackPanel> 
    </ControlTemplate> 
</MenuFlyoutItem.Template> 
</MenuFlyoutItem> 

或者你也可以延长MenuflyoutItem并添加另一个依赖项属性的图像/符号,这样就不难在模板编码。

相关问题