我有一个带NavigationView
控件的UWP应用程序.通过MenuItemsSource
在XAML中设置类型对象的集合来创建导航项NavigationViewElement
.
<NavigationView
Style="{StaticResource MainPageNavControlStyle}"
HeaderTemplate="{StaticResource MainPageNavHeaderTemplate}"
MenuItemsSource="{Binding NavigationViewElements}"
MenuItemContainerStyleSelector="{StaticResource NavStyleSelector}"
MenuItemTemplateSelector="{StaticResource NavItemTemplateSelector}"
x:Name="NavigationViewControl"
CompactModeThresholdWidth="480"
ExpandedModeThresholdWidth="635"
OpenPaneLength="324"
Loaded="OnControlLoaded"
ItemInvoked="OnItemInvoked"
IsTabStop="False"
IsSettingsVisible="False"
>
Run Code Online (Sandbox Code Playgroud)
我想绑定IsEnabled
的属性NavigationViewItems
是那些获得创建一个属性NavigationViewElement
.我怎么能这样做?
我有一个类似的问题ListBox
.在这种情况下,我能够从ListBox派生一个新类,它覆盖PrepareContainerForItemOverride()
并设置基于绑定到的类中的数据的IsEnabled
标志ListBoxItem
(在本例中为OptionItem)
protected override void PrepareContainerForItemOverride(Windows.UI.Xaml.DependencyObject element, object item)
{
ListBoxItem lItem = element as ListBoxItem;
OptionItem oItem = item as OptionItem;
if (lItem != null && oItem != null)
{
lItem.IsEnabled = oItem.IsEnabled;
}
base.PrepareContainerForItemOverride(element, item);
}
Run Code Online (Sandbox Code Playgroud)
是否有一个等价的 …