Общие ресурсы в дизайнере xaml визуальной студии

Если вы попытаетесь использовать какие-либо общие ресурсы с x:Shared="false", конструктор xaml Visual Studio 2010 покажет вам следующее исключение:

System.InvalidOperationException Указанный элемент уже является логическим дочерним элементом другого элемента. Сначала отсоедините его.

Можно ли обойти это (например, путем реализации прикрепленного свойства, которое создает то же самое, что и общий объект)?

Пример XAML:

<Window.Resources>
    <Image x:Key="SharedImage" x:Shared="false" Source="/Images/image.png" />
    <Style x:Key="ImageButton" TargetType="{x:Type Button}">
        <Setter Property="Content" Value="{StaticResource SharedImage}" />
    </Style>
</Window.Resources>
<StackPanel>
    <Button Style="{StaticResource ImageButton}" />
    <Button Style="{StaticResource ImageButton}" />
</StackPanel>

Исправлена ​​ли эта ошибка в Visual Studio 2012?


person Alexander Zwitbaum    schedule 21.06.2012    source источник


Ответы (1)