如何在Windows 8.1 app xaml中的MenuFlyoutItem内部有一个StackPanel

T. *_*ael 2 c# xaml windows-8.1

MenuFlyout定义如下.我不希望在MenuFlyoutItem中设置Text,我想在其中有一个可以容纳Image和TextBox的StackPanel.

<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>
Run Code Online (Sandbox Code Playgroud)

我该怎么做?这是一个例子 从OneDrive Windows 8.1应用程序

Lan*_*nce 5

这将是一种快速而又肮脏的方式.

<MenuFlyoutItem Text="Hello" >
 <MenuFlyoutItem.Template>
  <ControlTemplate TargetType="MenuFlyoutItem">
   <StackPanel Orientation="Horizontal">
    <SymbolIcon Symbol="Clock" />
    <TextBlock Text="{TemplateBinding Text}" />                    
   </StackPanel>
  </ControlTemplate>
 </MenuFlyoutItem.Template>
</MenuFlyoutItem>
Run Code Online (Sandbox Code Playgroud)

或者,您可以扩展MenuflyoutItem并为图像/符号添加另一个依赖项属性,以便它不会在模板中进行硬编码.