Ошибка компиляции статического ресурса ContextMenu - PullRequest
1 голос
/ 27 июня 2011

Я создал элемент управления Silverlight со свойством ContextMenu. Я также создал статический ресурс ContextMenu, который я хочу добавить в элемент управления, но получаю ошибку компиляции.

<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
                    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
                    xmlns:controlsInputToolkit="clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls.Input.Toolkit" >
    <controlsInputToolkit:ContextMenuService.ContextMenu x:Key="FilterableTreeViewContextMenu">
        <controlsInputToolkit:ContextMenu>
            <controlsInputToolkit:MenuItem Header="New" />
        </controlsInputToolkit:ContextMenu>
    </controlsInputToolkit:ContextMenuService.ContextMenu>
</ResourceDictionary>

Ошибка: Неожиданный ATTRIBUTE в правиле синтаксического анализа PropertyElement :: =. СОБСТВЕННОСТЬ ENDTAG ..

Есть идеи?

1 Ответ

1 голос
/ 08 сентября 2011

Эта ошибка указывает, что атрибут был применен к элементу свойства, который недопустим.В вашем случае это атрибут x:Key элемента controlsInputToolkit:ContextMenuService.ContextMenu.Вам нужно будет удалить его.

Вы можете идентифицировать элементы свойства в XAML по периоду, который включен в имя элемента.Часть имени до точки является именем класса, а следующая часть является свойством этого класса.Атрибуты не допускаются в таких элементах.

Ваш XAML был достаточно компактным, чтобы я мог легко найти проблему.Если эта ошибка возникает в гораздо большем файле XAML, то в Visual Studio можно использовать следующее регулярное выражение для поиска проблемы.Просто установите флажок «Использовать» в диалоговом окне «Найти и заменить» и выберите «Регулярные выражения» в поле со списком.

\ <: Al @ .: Al @: Al @ = \ ". @ \ ": b @>

Find and Replace Dialog with Regular Expressions Enabled

Если вам нужно настроить выражение, тогда будет полезна документация MSDN о синтаксисе регулярных выражений .

...