У меня есть Menu
с MenuItem
s, которые связаны с RegionType
перечислением.
MenuItems должен флажки, и я хочу занный IsChecked
к некоторым ObservableCollection<bool>
(VisibleRegions
):Установить источник для MenuItem в XAML
<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?