Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 16.12.2014, 10:33   #1
JunkieBeat
Пользователь
 
Регистрация: 17.02.2013
Сообщений: 38
По умолчанию WPF ListBox подсветка синтаксиса

Доброго времени суток. Надо сделать подсветку синтаксиса в ListBox WPF. Вот пример того что должно получиться


Искал в гугле но поиски не увенчались успехом.
Если есть решение то пожалуйста приводите их на примере динамического заполнения листбокса из кода. Так как я фильтрую БД и в листбокс записываю сложение двух строк, которые как раз и должны различаться цветами.
JunkieBeat вне форума Ответить с цитированием
Старый 16.12.2014, 10:36   #2
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Так что именно подсвечивать надо? Как данные выглядят, как вы их заносите туда? По какому принципу подсвечивать?
Например, при биндинге с помощью стилей/тригеров это легко делается.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.

Последний раз редактировалось Alex11223; 16.12.2014 в 10:39.
Alex11223 вне форума Ответить с цитированием
Старый 16.12.2014, 10:41   #3
JunkieBeat
Пользователь
 
Регистрация: 17.02.2013
Сообщений: 38
По умолчанию

Заношу из кода C# Lisbox1.Items.add( String1+" ~ "+String2 );
И лучше даже что бы было три цвета, символ "~" надо бы окрасить еще в белый, цвет фона что бы не видно было его, или вообще не рисовать его.
В идеале было бы найти замену событию DrawItem из WinF
JunkieBeat вне форума Ответить с цитированием
Старый 16.12.2014, 10:57   #4
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Подсвечивать-то по какому принципу? Цвета во всех строках листбокса одинаковые?

Код:
using System;
using System.Collections.ObjectModel;

namespace WpfApplication3.ViewModel
{
    public class MyData
    {
        public string String1 { get; set; }

        public string String2 { get; set; }

        public MyData(string string1, string string2)
        {
            String1 = string1;
            String2 = string2;
        }

        public MyData()
        { }
    }

    public class ViewModel
    {
        public ViewModel()
        {
            Items = new ObservableCollection<MyData>();

            Items.Add(new MyData("String1_1", "String1_2"));
            Items.Add(new MyData("String2_1", "String2_2"));
            Items.Add(new MyData("String3_1", "String3_2"));
        }

        public ObservableCollection<MyData> Items { get; set; }
    }
}
Код:
<Window x:Class="WpfApplication3.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:viewModel="clr-namespace:WpfApplication3.ViewModel"
        Title="MainWindow" Height="350" Width="525">
    <Window.Resources>
        <viewModel:ViewModel x:Key="viewModel"/>
    </Window.Resources>
    <Grid DataContext="{StaticResource viewModel}">
        <ListBox Margin="15" ItemsSource="{Binding Items}">
            <ListBox.ItemTemplate>
                <DataTemplate>
                    <StackPanel Orientation="Horizontal">
                        <TextBlock Margin="3" Text="{Binding String1}" Foreground="Green"/>
                        <TextBlock Margin="3" Text="{Binding String2}" Foreground="Red"/>
                    </StackPanel>
                </DataTemplate>
            </ListBox.ItemTemplate>
        </ListBox>
    </Grid>
</Window>
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 16.12.2014, 11:01   #5
JunkieBeat
Пользователь
 
Регистрация: 17.02.2013
Сообщений: 38
По умолчанию

Да цвета одинаковые
JunkieBeat вне форума Ответить с цитированием
Старый 16.12.2014, 20:24   #6
qwaker
Пользователь
 
Регистрация: 23.12.2010
Сообщений: 25
По умолчанию

Так они изначально одинаковые. Профит!
qwaker вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Подсветка синтаксиса exelim Общие вопросы C/C++ 1 09.12.2013 21:50
подсветка синтаксиса slavarus Помощь студентам 0 15.05.2013 12:22
Подсветка синтаксиса Waqq Общие вопросы Delphi 1 05.01.2012 12:59
Подсветка синтаксиса Яр|/||< (^_^) Компоненты Delphi 5 15.02.2010 15:44
Подсветка синтаксиса Simply-Art Общие вопросы Delphi 2 29.05.2007 16:22