powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / исключение Xaml при создании стиля для Button
5 сообщений из 5, страница 1 из 1
исключение Xaml при создании стиля для Button
    #37707841
Sky Dragon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Странная проблемка:
Создал стиль для кнопки.
Код: xml
1.
2.
3.
4.
5.
6.
7.
<Style x:Key="ButtonStyle" TargetType="{x:Type Button}" >
   <Setter Property="Content">
      <Setter.Value>
         <Image Source="Images/icon_26.png"/>
      </Setter.Value>
   </Setter>
</Style>



Его применяю к некоторым кнопкам. Но есть еще кнопки, в которых этот этот Image явно указан в контенте

Код: xml
1.
2.
3.
<Button>
   <Image Source="Images/icon_26.png"/>
</Button>



и при применении первого стиля прграмма падает с XamlException. Причем как то не сразу.
ExpressionBlend на этот счет дает ошибку: "Указанный элемент уже является логическим дочерним для другого элемента. Сначала отсоедините его."

То есть нельзя Image так использовать? Но ведь просто в разных кнопках его можно в контент загонят. Почему нельзя со стилем так?
...
Рейтинг: 0 / 0
исключение Xaml при создании стиля для Button
    #37707863
Фотография уТКа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sky Dragon,

у кнопки есть Только одно свойство Content и ко всему прочему оно не является коллекцией, поэтому нужно определять его либо в самой кнопке либо в стиле, "и там и тут" не уместно, поэтому логично получаете ошибку.
...
Рейтинг: 0 / 0
исключение Xaml при создании стиля для Button
    #37707909
Sky Dragon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
уТКа,

Вы наверно не правильно поняли.

Есть 2 кнопки.
Есть стиль, в котором контент задан картинкой. Он применяется к первой кнопке, в которой контента нет.
Во второй кнопке стиль НЕ применяется, но указывается контент явно.

Код: xml
1.
2.
3.
4.
5.
<Button Name="but1">
   <Image Source="Images/icon_26.png"/>
</Button>

<Button Name="but2" Style={DynamicResource ButtonStyle}/>



Кстати, если определить в стиле контент. Применить его к кнопке. И в кнопке явно указать контент, то ошибки не будет. Просто контентом будет именно тот, который в самой кнопке. Override так сказать произойдет.

Мне кажется тут все дело в использовании Image...
...
Рейтинг: 0 / 0
исключение Xaml при создании стиля для Button
    #37707949
Lelouch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sky Dragon,

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
<Style x:Key="CommonEditButtonStyle" TargetType="{x:Type Button}">
        <Setter Property="ContentTemplate">
            <Setter.Value>
                <DataTemplate>
                        <Image Source="..."></Image>
                </DataTemplate>
            </Setter.Value>
        </Setter>
    </Style>



Мб так?
...
Рейтинг: 0 / 0
исключение Xaml при создании стиля для Button
    #37707990
Sky Dragon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Lelouch,

Да, так работает. Спасибо.
Но все же странно, почему просто Content не работает...
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / исключение Xaml при создании стиля для Button
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]