Как изменить цвет шрифта элементов в списке (wpf) - PullRequest
0 голосов
/ 07 мая 2011

У меня есть список, который ограничен наблюдаемой коллекцией.Элементы в коллекции содержат переменную с именем color.Элементы моего списка уже привязаны к коллекции, но как мне также привязать к этому цвет шрифта элементов?У меня уже есть шаблон данных, который отлично работает, заменяя имя элемента на имя цвета, подобное этому

<DataTemplate x:Key="myListBox">
        <TextBlock Padding="0,0,10,0" 
    Text="{Binding Path=Color, Mode=Default}"/>
    </DataTemplate>

, но я не могу найти, какое свойство мне нужно установить, чтобы связать цвет.

Ответы [ 2 ]

2 голосов
/ 07 мая 2011

Не уверен, к какому цвету вы обращаетесь, но при этом будут заданы цвета фона и текста / переднего плана.

<TextBlock Padding="0,0,10,0" 
    Text="{Binding Path=Color, Mode=Default}"
    Background="{Binding myBackgroundColour}"
    Foreground="{Binding myTextColour}"
/>

РЕДАКТИРОВАТЬ: реквизит зависимости -

public string Color
{
    get { return (string)GetValue(ColorProperty); }
    set { SetValue(ColorProperty, value); }
}

// Using a DependencyProperty as the backing store for Color.  This enables animation, styling, binding, etc...
public static readonly DependencyProperty ColorProperty =
    DependencyProperty.Register("Color", typeof(string), typeof(CLASSNAMEHERE), new UIPropertyMetadata("Black"));

Заменить CLASSNAMEHEREс именем класса, в который вы его помещаете, то есть класс viewmodel или codebehind имя класса.

use:

this.Color = "Yellow";
1 голос
/ 21 апреля 2015

Вы можете использовать этот стиль ресурса

    <Style TargetType="{x:Type ListBoxItem}">
        <Setter Property="Foreground" Value="></Setter>
        <Setter Property="FontWeight" Value="Bold"></Setter>
        bla bla bla
    </Style>
...