Я уже некоторое время использую AvalonDock (2.0), являясь ключом к управлению документами в среде IDE. В последний месяц или около того, я заметил, что Alt ключевых украшений больше не отображаются для элементов управления в AvalonDock, хотя команды клавиш Alt выполняются, как ожидалось. Смотрите рисунок ниже, где Alt ключевых украшения показываются в меню, но не для кнопок внутри AvalonDock:AvalonDock теперь теряет Alt Key Adornments
Что особенно интересно об этой проблеме, что, как представляется, вызвано окружающей среды или состояния.
Как показано в этом video (в 2:07), украшения для ключей Alt работают для управления в AvalonDock. Но, если я сейчас использую тот же самый исполняемый файл, который я использовал в этом видео, то украшение alt key не работает.
В настоящее время я использую сборку 2.0.1746, но я также попытался создать 2.0.2000 (с пространством имен Xceed) и нашел ту же проблему. Я также попробовал версию, упакованную с Xceed Extended WPF Toolkit, и обнаружил, что проблема не устранена.
Я также построил очень простое тестовое приложение, которое загружает несколько документов типа Item
, где Item
является простой класс с Name
свойством:
<Window x:Class="WpfApplication1.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:WpfApplication1"
xmlns:avalonDock="clr-namespace:Xceed.Wpf.AvalonDock;assembly=Xceed.Wpf.AvalonDock"
xmlns:avalonDockLayout="clr-namespace:Xceed.Wpf.AvalonDock.Layout;assembly=Xceed.Wpf.AvalonDock"
xmlns:avalonDockControls="clr-namespace:Xceed.Wpf.AvalonDock.Controls;assembly=Xceed.Wpf.AvalonDock"
Title="MainWindow" Height="500" Width="500">
<Window.Resources>
<ResourceDictionary>
<DataTemplate DataType="{x:Type local:Item}">
<StackPanel Orientation="Vertical">
<Label Content="Item:" />
<TextBox Text="{Binding Name}"/>
<Button Content="_ClickMe" />
</StackPanel>
</DataTemplate>
</ResourceDictionary>
</Window.Resources>
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="*"></RowDefinition>
<RowDefinition Height="Auto"></RowDefinition>
</Grid.RowDefinitions>
<avalonDock:DockingManager Grid.Row="0" DocumentsSource="{Binding}">
<avalonDockLayout:LayoutRoot>
<avalonDockLayout:LayoutPanel Orientation="Horizontal">
<avalonDockLayout:LayoutDocumentPane/>
</avalonDockLayout:LayoutPanel>
</avalonDockLayout:LayoutRoot>
</avalonDock:DockingManager>
<Button Grid.Row="1" Content="_Test" />
</Grid>
</Window>
Даже с помощью этого простого применения, Alt ключевые украшения отображаются для кнопки Test
за пределами AvalonDock, но не для кнопок ClickMe
для органов управления в AvalonDock.
Я также разместил вопрос here на сайте Codealx AvalonDock, но, похоже, очень мало активности отклика. Я также разместил вопрос here на сайте Extended Toolkit codeplex.
Любые идеи о том, как исправить или обмануть эту проблему?
Если у вас есть подписка на Xceed, возможно, стоит обратиться к их людям поддержки. Вы также можете попробовать собственный форум: http://xceed.com/CS/forums/86/ShowForum.aspx –
Спасибо, Ричард, я тоже опубликую на этом форуме и, возможно, получить подписку. –