有什么方法可以将分隔符添加到数据绑定的 WPF 组合框中?即在我的 xaml 中,组合框的 ItemsSource="{Binding TheList}"。该列表是一个可观察的对象集合,我希望将其中一个与其他对象分开。这个列表也是从 sql 生成的,所以它没有硬编码或任何东西。我也不希望可以选择分离器。谢谢!
问问题
7963 次
5 回答
4
检查此解决方案。它使用 aStyle
来改变Template
某些ComboBoxItem
对象的
于 2013-08-09T19:50:42.073 回答
2
我在 .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(){...},
}
于 2021-05-17T07:12:45.710 回答
1
虽然我的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>
于 2020-01-17T10:45:06.293 回答
0
你需要使用 ComboBox.ItemTemplate 来绘制你的元素
http://www.silverlightshow.net/items/Silverlight-ComboBox.aspx
于 2013-08-09T20:24:23.167 回答
0
如果你想在 C# 代码中做同样的事情:
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");
于 2020-05-30T21:32:01.957 回答