Как я могу подчеркнуть ListBoxItem в WPF?

Как я могу подчеркнуть ListBoxItem в WPF? Я использую следующее, но подчеркивание не отображается.

<DataTemplate x:Key="Phrase_List">
    <ListBoxItem IsSelected="{Binding IsDefault}">
        <TextBlock Text="{Binding Path=Phrase}" Tag="{Binding Path=ID}" TextDecorations="Underline"  />
    </ListBoxItem>
</DataTemplate>

person Community    schedule 31.01.2009    source источник


Ответы (4)


Я не знаю, какой код вы пытаетесь использовать. Пожалуйста, попробуйте завершить свой вопрос. Я использовал следующий код, чтобы подчеркнуть элемент «Мир» в моем маленьком ListBox.

    <ListBox>
        <ListBoxItem>Hello</ListBoxItem>
        <ListBoxItem>
            <Underline>World</Underline>
        </ListBoxItem>
    </ListBox>
person Remco Eissing    schedule 31.01.2009

Вы можете использовать текстовый блок и установить для свойства textdecorations значение подчеркивания. Помните, что содержимым ListBoxItem могут быть вещи, отличные от текста, поэтому это непростой случай установки какого-либо свойства в ListBoxItem.

person Dominic Hopton    schedule 01.02.2009

Вам нужно будет создать шаблон элемента, который отображает ваш текст в элементе управления TextBlock. В TextBlock установите свойство TextDecorations (которое является коллекцией), чтобы оно содержало «подчеркивание».

person NigelTufnel    schedule 29.07.2010

В XAML:

<ListBox Name="lst">
      <ListBoxItem Content="item1" />
      <ListBoxItem Content="item2" FontStyle="Italic" FontWeight="Normal" />
</ListBox>

In C#:

lst.Items.Clear();
lst.Items.Add(new ListBoxItem { Content = "item 1" });
lst.Items.Add(new ListBoxItem { Content = "item 2" });
lst.Items.Add(new ListBoxItem { Content = "item 3" });

ListBoxItem l = (ListBoxItem)lstItems.Items[2];
li.SetValue(TextElement.FontStyleProperty, FontStyles.Italic);
person Christian Payne    schedule 19.11.2010