Sat*_*ish 11 .net wpf wpf-controls
我正在使用WPF中的RibbonController创建一个应用程序.
它工作正常,直到我安装.net 4.6.然后我的"RibbonGallery"处于禁用状态(Viewpoints Drop Down菜单).我试图通过Code启用但没有运气;(.
<Custom:RibbonGallery SelectedValue="Entrancelobby" SelectedValuePath="Content" ScrollViewer.VerticalScrollBarVisibility="Visible" MaxHeight="500">
<Custom:RibbonGalleryCategory Name="viewpointsList" FontFamily="Times New Roman" FontSize="14">
<Custom:RibbonGalleryItem Content="Entrancelobby" Foreground="Black" />
<Custom:RibbonGalleryItem Content="Entrancelobby 01" Foreground="Black"/>
<Custom:RibbonGalleryCategory>
</Custom:RibbonGallery>
Run Code Online (Sandbox Code Playgroud)
提前致谢...
Sam*_*SFT 17
这实际上是RibbonGallery中的一个错误,恰好是4.6.1中的新逻辑暴露出来的.错误是RG没有正确初始化其内部状态,因此如果有人调用CoerceValue(IsEnabledProperty),它会将值强制为false(即禁用图库).例如,调用ribbonGallery.IsEnabled = true;实际上将禁用RG(即使在4.0中).
.Net 4.6.1具有更好的逻辑,用于将IsEnabled传播给后代.此逻辑最终调用ribbonGallery.CoerceValue(IsEnabledProperty),由于该错误而禁用RG.
有一个解决方法:更改RG的命令.这导致RG正确地重置其内部状态,以便未来的强制做正确的事情.例如:
ribbonGallery.Command = ApplicationCommands.Print; // arbitrary command
ribbonGallery.Command = null; // don't keep the command
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1282 次 |
| 最近记录: |