Можно ли выбрать отдельные слова с помощью мыши в элементе управления ListBox WPF? Когда да, как я могу это сделать?WPF ListBox выбрать слово с помощью мыши
Все советы приветствуются :)
Можно ли выбрать отдельные слова с помощью мыши в элементе управления ListBox WPF? Когда да, как я могу это сделать?WPF ListBox выбрать слово с помощью мыши
Все советы приветствуются :)
Если вы определяете ItemTemplate
для вашего ListBox
, вы можете использовать TextBox
для отображения каждого элемента (при условии, что элементы являются простые string
s):
<ListBox ItemsSource="{Binding YourCollection}">
<ListBox.ItemTemplate>
<DataTemplate>
<TextBox Text="{Binding}" IsReadOnly="True" />
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
ОБНОВЛЕНИЕ >>>
Я только что протестировал его и должен был сделать одно изменение, чтобы установить Binding.Mode
собственности до OneWay
, и он работал просто отлично. Тем не менее, я заметил, что TextBox
остановит каждый элемент из выбран, поэтому добавил Style
позаботиться о том, что и стиль элементов немного слишком:
<ListBox ItemsSource="{Binding YourCollection}" Name="ListBox" HorizontalContentAlignment="Stretch">
<ListBox.ItemTemplate>
<DataTemplate>
<TextBox Text="{Binding ., Mode=OneWay}" IsReadOnly="True">
<TextBox.Style>
<Style>
<Setter Property="TextBox.BorderThickness" Value="0" />
</Style>
</TextBox.Style>
</TextBox>
</DataTemplate>
</ListBox.ItemTemplate>
<ListBox.ItemContainerStyle>
<Style>
<Style.Triggers>
<Trigger Property="ListBox.IsKeyboardFocusWithin" Value="True">
<Setter Property="ListBoxItem.IsSelected" Value="True" />
</Trigger>
</Style.Triggers>
</Style>
</ListBox.ItemContainerStyle>
</ListBox>
Это то, что я сделал. Но когда я выбираю элемент с помощью мыши, я выбираю целую строку элемента в ListBox и ни одного слова. – simmeone
Я попробую! Спасибо :) – simmeone