問題我有一個XAML MenuItem DataBound ItemsSource工作正常,但有一個小問題。當我查看MenuItem並且沒有任何數據綁定項目時,ParentMenu將被禁用,並且顯示正常,沒有綁定錯誤(如預期的ItemsSource爲空)。如果修改了ObservableCollection並添加了一個項目,則會刷新綁定並顯示MenuItem。但是,ItemContainerStyle不會將MenuItem.Tag屬性更新爲數據綁定值。奇怪的XAML MenuItem DataBound ItemsSource清空後ItemsSource
只要ItemsSource從不啓動爲空或從未減少爲空,MenuItem就會正常工作。有沒有人有任何提示這樣的問題?我想擁有的ItemsSource和ItemContainerStyle在任何時候都正確刷新甚至當的ItemsSource
XAML如下所示開始爲空:
<MenuItem x:Name="MenuItem" Header="Menu" ItemsSource="{Binding Source={StaticResource MenuItemViewSource}}" ItemTemplate="{StaticResource MenuDataTemplate}">
<MenuItem.ItemContainerStyle>
<Style TargetType="{x:Type MenuItem}">
<Setter Property="Tag" Value="{Binding Path=ID, Source={StaticResource MenuItemViewSource}}"/>
<Setter Property="Background" Value="Red"/>
<Setter Property="Opacity" Value="0.5"/>
<EventSetter Event="Click" Handler="MenuItem_Click"/>
</Style>
</MenuItem.ItemContainerStyle>
<MenuItem.Style>
<Style TargetType="{x:Type MenuItem}">
<Style.Triggers>
<DataTrigger Binding="{Binding Path=Items.Count, RelativeSource={RelativeSource Self}}" Value="0">
<Setter Property="IsEnabled" Value="False"/>
</DataTrigger>
</Style.Triggers>
</Style>
</MenuItem.Style>
</MenuItem>
我是否需要在具有ItemsSource集的MenuItem上設置DataContext? – Luke
不,DataContext從「父」菜單項中的ItemsSource綁定到達每個「子」菜單項。 –