ниже приведённый код работает
| Код | <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 выводить на экран расчитываемые значения столбцов? |