我有一个Menu
与MenuItem
s绑定到RegionType
枚举。
的MenuItems应该有复选标记,我想结合IsChecked
一些ObservableCollection<bool>
(VisibleRegions
):在XAML中为MenuItem设置源
<ObjectDataProvider x:Key="enumData" MethodName="GetValues" ObjectType="{x:Type System:Enum}">
<ObjectDataProvider.MethodParameters>
<x:Type TypeName="target:RegionType"/>
</ObjectDataProvider.MethodParameters>
</ObjectDataProvider>
和菜单本身:
<Menu>
<MenuItem Header="Choose item" ItemsSource="{Binding Source={StaticResource enumData}}">
<MenuItem.ItemContainerStyle>
<Style TargetType="MenuItem">
<Setter Property="IsCheckable" Value="True"/>
<Setter Property="IsChecked" Value="{Binding VisibleRegions, Mode=TwoWay}"/>
<Setter Property="StaysOpenOnClick" Value="True"/>
</Style>
</MenuItem.ItemContainerStyle>
</MenuItem>
</Menu>
VS输出告诉我,在运行时:
System.Windows.Data Error: 40 : BindingExpression path error: 'VisibleRegions' property not found on 'object' ''RegionType' (HashCode=0)'. BindingExpression:Path=VisibleRegions; DataItem='RegionType' (HashCode=0); target element is 'MenuItem' (Name=''); target property is 'IsChecked' (type 'Boolean')
消息非常清楚,但是如何纠正这个xaml作品?