powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / Как вызвать GoToState из шаблона?
8 сообщений из 8, страница 1 из 1
Как вызвать GoToState из шаблона?
    #37768539
jupiter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здроавствуйте.
Я хочу модефицировать контрол ListBox с помощью стиля Style для ListBoxItem.
Мне нужно, чтобы при щелчке по кнопочке на контроле мой контрол входил в определенное состояние. Но я не хочу писать код на C#, типа VisualStateManager.GoToState(). Можно ли это сделать с помощью какого-нибудь тригера прямо в XAML?

Спасибо
...
Рейтинг: 0 / 0
Как вызвать GoToState из шаблона?
    #37768901
AlexeiK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
jupiter,

пиши в expression blend тогда.
...
Рейтинг: 0 / 0
Как вызвать GoToState из шаблона?
    #37768929
SeVa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В Blend SDK для этого есть GoToStateAction
...
Рейтинг: 0 / 0
Как вызвать GoToState из шаблона?
    #37770244
jupiter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ну уж нет. Буду тогда делать контрол :)
...
Рейтинг: 0 / 0
Как вызвать GoToState из шаблона?
    #37770456
SeVa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
jupiterНу уж нет. Буду тогда делать контрол :)
Если больше нечем заняться, то это решение в самый раз
...
Рейтинг: 0 / 0
Как вызвать GoToState из шаблона?
    #37771823
jupiter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте.
Поскольку создание нового контрола почему-то считается чуть ли ни дурным тоном, я решил задачу с использованием стиля. Для перехода в нужное состояние, как и предлагалось, использую компоненты из Бленда. Пришлось подключить к проекту две библиотеки из каталога Microsoft SDKs\Expression\Blend 3

Вопрос у меня такой: не возникнет ли проблем с новыми библиотеками при развертывании приложения (Delpoy) на боевой среде?

Дополнительно сообщаю подробности.

Подключенные библиотеки:
-Microsoft.Expression.Interactions
-System.Windows.Interactivity

у обоих выставлено свойство CopyLocal=True

Разметка:
Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
xmlns:i="clr-namespace:System.Windows.Interactivity;assembly=System.Windows.Interactivity"      
xmlns:ei="clr-namespace:Microsoft.Expression.Interactivity.Core;assembly=Microsoft.Expression.Interactions"

...
<i:Interaction.Triggers>
     <i:EventTrigger SourceName="CollapsedGrid" EventName="MouseLeftButtonDown">
            <ei:GoToStateAction StateName="Expanded" IsEnabled="True" />
     </i:EventTrigger>     
         ...                           
</i:Interaction.Triggers>


Спасибо.
...
Рейтинг: 0 / 0
Как вызвать GoToState из шаблона?
    #37772365
SeVa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Эти библиотеки упакуются в xap основного приложения. Все будет ок
...
Рейтинг: 0 / 0
Как вызвать GoToState из шаблона?
    #37775932
jupiter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо. Еще вопросик в принципе в тему (не хочу новую тему заводить)

У меня громозско назначается наблон - через стиль. И я не могу сделать это напрямую, потому что запутался в именах свойств и типов. Вот смотри:

Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
        <ListBox  ... >
            <ListBox.ItemContainerStyle>
                <Style TargetType="ListBoxItem">
                    <Setter Property="Template">
                        <Setter.Value>
                            <ControlTemplate >
  ...
   



Но хотелось бы проще:

Код: xml
1.
2.
3.
4.
5.
        <ListBox  ... >
            <ListBox.Template>
                   <ControlTemplate TargetType="ListBoxItem">
  ...
   


При таком сочетании вываливается эксепшен при выполнении
System.Windows.Markup.XamlParserException

Если заменить <ListBox.Template> на <ListBox.ItemTemplate>, то ругается при компиляции:
Property 'ItemTemplate' does not support values of type ControlTemplate. Хочет, наверное, чтобы я дал шаблон не ControlTemplate , а DataTemplate. Но если так сделать, то вообще концы с концами свести невозможно.

Если убрать TargetType="ListBoxItem" из тега ControlTemplate, то при выполнении все идет наперекосяк - шаблон начитает применяться к чему-то не тому...

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


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