Софтуерно Инженерство
Loading...
vanmx avatar vanmx 4 Точки

Моля за малко помощ със XAML+C#

Здравейте колеги,

 

Проблема е следния: Имам един Textblock чиито техт съм bind-ал към стринг. Стрингът е нещо от рода на  "- + - + +". Въпросът е как да направя така, че на прозореца на приложението плюсовете да са зелени, а минусите - червени ? Оказва се че това не е толкова тривиално нещо колкото си мислех в началото.

Тагове:
0
Общи приказки
vanmx avatar vanmx 4 Точки

Доколкото разбрах в TextBlock не може да има разноцветен текст, което е пълня тъпня. Значи излиза, че нещата трябва да станат с поле Run за всеки отделен символ от стринга

<TextBlock foreground="Green">
      <Run Text="{Binding "символ 1"}" />
      <Run Text="{Binding "символ 2"}" />
             .  .  .  . .    
      <Run Text="{Binding "символ n"}" />
</TextBlock>

 

И чрез DataTrigger всеки да то правя с червен Foreground ако Text = "-" .

Този начин не ми харесва, защото трябва да разделям стринга и да правя променливи за всеки един отделен символ. Отделно че всеки път стрингът ми е различна дължина.

 

Няма ли наистина по елегантен начин ?

 

0
20/01/2018 18:55:18