Модераторы: gambit, Kefir, Partizan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> проблема с DataTrigger 
:(
    Опции темы
namespace
  Дата 14.11.2008, 16:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 70
Регистрация: 4.7.2006

Репутация: нет
Всего: нет



ниже приведённый код работает 
Код

                <ControlTemplate TargetType="{x:Type igDP:CellValuePresenter}">
                    <TextBlock x:Name="textBlock" Text="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=Value}"/>
                    <ControlTemplate.Triggers>
                        <DataTrigger Binding="{Binding ElementName=textBlock, Path=Text}" Value="l">
                            <Setter TargetName="textBlock" Property="Background" Value="Blue" />
                        </DataTrigger>
                        <DataTrigger Binding="{Binding ElementName=textBlock, Path=Text}" Value="r">
                            <Setter TargetName="textBlock" Property="Background" Value="Red" />
                        </DataTrigger>
                        <DataTrigger Binding="{Binding ElementName=textBlock, Path=Text}" Value="n">
                            <Setter TargetName="textBlock" Property="Background" Value="Yellow" />
                        </DataTrigger>
                    </ControlTemplate.Triggers>
                </ControlTemplate>

но мне надо менять свойство Text и когда я запускаю такой код:
Код

                <ControlTemplate TargetType="{x:Type igDP:CellValuePresenter}">
                    <TextBlock x:Name="textBlock" Text="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=Value}"/>
                    <ControlTemplate.Triggers>
                        <DataTrigger Binding="{Binding ElementName=textBlock, Path=Text}" Value="l">
                            <Setter TargetName="textBlock" Property="Text" Value="апав" />
                        </DataTrigger>
                        <DataTrigger Binding="{Binding ElementName=textBlock, Path=Text}" Value="r">
                            <Setter TargetName="textBlock" Property="Text" Value="куецкуне" />
                        </DataTrigger>
                        <DataTrigger Binding="{Binding ElementName=textBlock, Path=Text}" Value="n">
                            <Setter TargetName="textBlock" Property="Text" Value="вапвапва" />
                        </DataTrigger>
                    </ControlTemplate.Triggers>
                </ControlTemplate>

выпадает непонятное исключение:
Цитата

An unhandled exception of type 'System.StackOverflowException' occurred in WindowsBase.dll

?

P.S. вообще задача заменить коды из таблицы, на понятные пользователю значения, т. к. значений фиксированное кол-во (всего 3) смысла делать еще одну таблицу код-название нет. Может быть есть другие варианты как в xaml выводить на экран расчитываемые значения столбцов?

Это сообщение отредактировал(а) namespace - 14.11.2008, 16:46
PM MAIL   Вверх
Partizan
Дата 14.11.2008, 17:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Let's do some .NET
****


Профиль
Группа: Модератор
Сообщений: 2828
Регистрация: 19.12.2005
Где: Санкт-Петербург

Репутация: 9
Всего: 67



namespace,  скорее всего где-то получается бесконечная рекурсия....


--------------------
СУВ,
       Partizan.
PM MAIL WWW ICQ Skype GTalk Jabber   Вверх
namespace
Дата 14.11.2008, 20:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 70
Регистрация: 4.7.2006

Репутация: нет
Всего: нет



в принципе она бы возникала, если бы я значение менял на то на которое должен сработать тригер и опять его заменить, но тут нет такого
может быть некоректно применять тригер для смены свойства которое также находится и в условии?
PM MAIL   Вверх
Partizan
Дата 14.11.2008, 20:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Let's do some .NET
****


Профиль
Группа: Модератор
Сообщений: 2828
Регистрация: 19.12.2005
Где: Санкт-Петербург

Репутация: 9
Всего: 67



namespace, может к какому-нибудь другому свойству попробовать привязаться? =) 


--------------------
СУВ,
       Partizan.
PM MAIL WWW ICQ Skype GTalk Jabber   Вверх
namespace
Дата 17.11.2008, 00:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 70
Регистрация: 4.7.2006

Репутация: нет
Всего: нет



 smile можно по эксплуатировать свойство Tag, оно вроде как раз и предназначается для пользовательских нужд...
Код

                <ControlTemplate TargetType="{x:Type igDP:CellValuePresenter}">
                    <TextBlock x:Name="textBlock" Tag="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=Value}"/>
                    <ControlTemplate.Triggers>
                        <Trigger SourceName="textBlock" Property="Tag" Value="l">
                            <Setter TargetName="textBlock" Property="Text" Value="апав" />
                        </Trigger>
                        <Trigger SourceName="textBlock" Property="Tag" Value="r">
                            <Setter TargetName="textBlock" Property="Text" Value="куецкуне" />
                        </Trigger>
                        <Trigger SourceName="textBlock" Property="Tag" Value="n">
                            <Setter TargetName="textBlock" Property="Text" Value="вапвапва" />
                        </Trigger>
                    </ControlTemplate.Triggers>
                </ControlTemplate>


PM MAIL   Вверх
namespace
Дата 17.11.2008, 02:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 70
Регистрация: 4.7.2006

Репутация: нет
Всего: нет



но есть одна проблема сортировка, группировка и т.п. работают по значению объекта, а не свойства...
так что проще в SQL запросе все заменить и не парится smile 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | WPF и Silverlight | Следующая тема »


 




[ Время генерации скрипта: 0.1060 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.