Есть ли способ добавить разделитель в поле со списком WPF, привязанное к данным? т.е. в моем xaml поле со списком ItemsSource="{Binding TheList}". Список представляет собой наблюдаемую коллекцию объектов, один из которых я хочу отделить от остальных. Этот список также генерируется из sql, поэтому он не жестко запрограммирован или что-то в этом роде. Я бы тоже не хотел, чтобы можно было выбрать Seaprator. Спасибо!
Как добавить разделитель в поле со списком WPF, привязанное к данным?
comment
Что вы пытались сделать до сих пор, чтобы добиться этого?
- person yo chauhan   schedule 09.08.2013
Ответы (5)
Проверьте это решение. Он использует Style
для изменения Template
определенных ComboBoxItem
объектов.
person
bouvierr
schedule
09.08.2013
Я создавал свое поле со списком в файле .cs динамически и без использования привязок, но я считаю, что это может вам помочь. Разделители нельзя щелкнуть и выбрать.
ComboBox frameColor = new ComboBox()
{
Width = 200,
Margin = new Thickness(180, -780, 0, 0),
VerticalAlignment = VerticalAlignment.Center,
IsEditable = false,
Items =
{
new ComboBoxItem(){...},
new Separator(),
new ComboBoxItem(){...},
new ComboBoxItem(){...},
new ComboBoxItem(){...},
new Separator(),
new ComboBoxItem(){...},
new ComboBoxItem(){...},
new ComboBoxItem(){...},
new ComboBoxItem(){...},
new ComboBoxItem(){...},
}
person
The Ashen Wolf
schedule
17.05.2021
Хотя мой ComboxBox
(на данный момент) не DataBound
, я добился концепции разделителя, добавив к элементу нижнюю границу. В этом примере две строки до и две строки после разделителя.
<ComboBox x:Name="Cbx" SelectionChanged="Cbx_SelectionChanged">
<ComboBoxItem Content="select one..." Foreground="DarkGray" IsSelected="True" /
<ComboBoxItem Content="ABC" />
<ComboBoxItem Content="DEF" />
<ComboBoxItem Content="GHI" BorderBrush="Black" BorderThickness="0,0,0,2" />
<ComboBoxItem Content="KLM" />
<ComboBoxItem Content="NOP" />
</ComboBox>
person
nrod
schedule
17.01.2020
вам нужно использовать ComboBox.ItemTemplate, чтобы нарисовать ваши itens
http://www.silverlightshow.net/items/Silverlight-ComboBox.aspx
person
rodolfoprado
schedule
09.08.2013
это ничего не говорит о разделителе
- person Theodosius Von Richthofen; 12.08.2013
Не могли бы вы обновить ссылку, потому что она не работает?
- person marbel82; 09.10.2019
Если вы хотите сделать то же самое в коде С#:
Cbx.Items.Add("ABC");
Cbx.Items.Add("DEF");
ComboBoxItem item = new ComboBoxItem();
item.Content = "GHI";
item.BorderBrush = Brushes.Black;
item.BorderThickness = new Thickness(0, 0, 0, 2);
Cbx.Items.Add(item);
Cbx.Items.Add("KLM");
Cbx.Items.Add("NOP");
person
TorATB
schedule
30.05.2020