2017-04-26 53 views
0

如果我想创建一个菜单,用户可以选择几个选项。 在Silverlight中我使用可以有复选框的免费菜单控件。带有复选框的UWP构建菜单选择几个选项

我可以有一个复选框的MenuFlyoutItem?而且,如果我点击它,它不会关闭菜单 - 它应该翻转复选框,但保持打开状态。

例如

Export to: <- menu item 
    Excel <- sub-menu items with checkboxes... 
    CSV 
    Text 

回答

1

我们所用的MenuFlyoutItemTemplate添加的CheckBox,那么我们就可以使用TemplateBindingMenuFlyoutItemText属性绑定到CheckBoxContent财产。

默认情况下,当我们点击MenuFlyout中的CheckBox时,MenuFlyout仍然会打开。

例如:

<Button Content="Open MenuFlyout"> 
    <Button.Flyout> 
     <MenuFlyout> 
      <MenuFlyoutItem Text="Item 1"> 
       <MenuFlyoutItem.Template> 
        <ControlTemplate TargetType="MenuFlyoutItem"> 
         <StackPanel Margin="12,10,0,0" Orientation="Horizontal"> 
          <CheckBox Content="{TemplateBinding Text}"></CheckBox> 
         </StackPanel> 
        </ControlTemplate> 
       </MenuFlyoutItem.Template> 
      </MenuFlyoutItem> 
      <MenuFlyoutItem Text="Item 2"> 
       <MenuFlyoutItem.Template> 
        <ControlTemplate TargetType="MenuFlyoutItem"> 
         <StackPanel Margin="12,10,0,0" Orientation="Horizontal"> 
          <CheckBox Content="{TemplateBinding Text}"></CheckBox> 
         </StackPanel> 
        </ControlTemplate> 
       </MenuFlyoutItem.Template> 
      </MenuFlyoutItem> 
     </MenuFlyout> 
    </Button.Flyout> 
</Button> 
+0

那么我将不得不绑定复选框'IsChecked'一些数据属性 - 得到的值..吧? –

+0

如果你想获得'IsChecked',我们可以使用'Checked'和'Unchecked'事件来获取它。您也可以将其绑定到某些数据属性。 –