Jea*_*nal 4 .net wpf ribbon datatemplate
我正在使用Microsoft提供的WPF功能区控件.
问题在于,当我使用DataTemplate填充a时RibbonApplicationSplitMenuItem,我得到一个额外的嵌套级别,我认为不应该存在.
以下是相关的WPF代码:
<Window.Resources>
<DataTemplate DataType="{x:Type cfg:PluginInfoConfigurationElement}" x:Key="GotoPluginAppMenuItem">
<ribbon:RibbonApplicationMenuItem
Header="{Binding Path=Key}"
ImageSource="{Binding Path=Image}"/>
</DataTemplate>
</Window.Resources>
<ribbon:RibbonApplicationMenu>
<ribbon:RibbonApplicationSplitMenuItem x:Name="LoadPluginMenuItem"
ItemsSource="{Binding Source={StaticResource NlpModel}, Path=AvailablePlugins}"
Header="Plugins"
ItemTemplate="{StaticResource GotoPluginAppMenuItem}">
</ribbon:RibbonApplicationSplitMenuItem>
<ribbon:RibbonApplicationSplitMenuItem x:Name="LoadPluginMenuItem2"
Header="Plugins">
<ribbon:RibbonApplicationMenuItem
Header="FooPlugin"
ImageSource="Images/icon-32.png"/>
<ribbon:RibbonApplicationMenuItem
Header="Invalid"
ImageSource="Images/icon-32.png"/>
</ribbon:RibbonApplicationSplitMenuItem>
<!-- Other items to fill the menu -->
</ribbon:RibbonApplicationMenu>
Run Code Online (Sandbox Code Playgroud)
这就是我得到的:
使用DataTemplate http://img571.imageshack.us/img571/9915/screentemplate.png 使用数据模板.
我想要什么http://img43.imageshack.us/img43/9168/screendesired.png 没有模板.
如您所见,使用DataTemplate时会出现额外的嵌套级别.我怎么能防止这种情况?
而不是设置ItemTemplate你需要设置ItemContainerStyle否则你最终得到了ribbon:RibbonApplicationMenuItem内部ribbon:RibbonApplicationMenuItem.
Jean Hominal:这是我用过的代码,它实现了我想要的结果:
<Style TargetType="{x:Type ribbon:RibbonApplicationMenuItem}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate>
<ribbon:RibbonApplicationMenuItem Header="{Binding Path=Caption}"
ImageSource="{Binding Path=Image}"/>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
912 次 |
| 最近记录: |