C# Silverlight:列表框中的分隔符?

C# Silverlight:列表框中的分隔符?,c#,silverlight,C#,Silverlight,我有一个列表框,里面有几个项目。我想以编程方式在列表框中插入分隔条。这可能吗 MSDN提到了一个控件,但当我尝试实例化一个控件时,VisualStudio无法识别它 我使用的是Silverlight 4。您提到的分隔符控件在WPF中,从我在文档中看到的内容来看,Silverlight不支持它 我会通过模板处理这个问题。使用项的表示形式和分隔符的第二种表示形式设置模板,然后将每个表示形式的可见性绑定到数据对象上的IsSeparator标志 然后,您所需要做的就是将IsSeparator标志设置为t

我有一个列表框,里面有几个项目。我想以编程方式在列表框中插入分隔条。这可能吗

MSDN提到了一个控件,但当我尝试实例化一个控件时,VisualStudio无法识别它


我使用的是Silverlight 4。

您提到的分隔符控件在WPF中,从我在文档中看到的内容来看,Silverlight不支持它

我会通过模板处理这个问题。使用项的表示形式和分隔符的第二种表示形式设置模板,然后将每个表示形式的可见性绑定到数据对象上的IsSeparator标志


然后,您所需要做的就是将IsSeparator标志设置为true来创建一个虚拟对象,以获取列表中的新项。

您所指的分隔符控件在WPF中,从我在文档中看到的Silverlight中不受支持

我会通过模板处理这个问题。使用项的表示形式和分隔符的第二种表示形式设置模板,然后将每个表示形式的可见性绑定到数据对象上的IsSeparator标志

然后,您需要做的就是将IsSeparator标志设置为true,创建一个虚拟对象,以获取列表中的新项。

请参阅:

我在silverlight 4中使用它,我只需从工具箱中拖放,它为我添加了对工具箱的引用:

xmlns:toolkit="http://schemas.microsoft.com/winfx/2006/xaml/presentation/toolkit"
我是这样用的:

<toolkit:Separator Margin="15"/>

请参见:

我在silverlight 4中使用它,我只需从工具箱中拖放,它为我添加了对工具箱的引用:

xmlns:toolkit="http://schemas.microsoft.com/winfx/2006/xaml/presentation/toolkit"
我是这样用的:

<toolkit:Separator Margin="15"/>

我做了一个类似于詹姆斯的修复。在绑定listbox的TableModel上添加布尔字段

我对按类型分组的数据有一个额外的要求,我将其保留在下面的LINQ查询中。如果不需要,可以使用allData.Count代替numDataTypes。我的布尔值名为IsLastItem,并填充有:

int numDataTypes = allData.Select(o => o.Type).Distinct().Count();
IEnumerable<TableModel> ByTypes = allData
              .GroupBy(o => o.Type)
              .Select((g, index) => new TableModel()
              {
                ...
                IsLastItem = index == (numDataTypes - 1),
              });
int numDataTypes=allData.Select(o=>o.Type).Distinct().Count();
IEnumerable ByTypes=allData
.GroupBy(o=>o.Type)
.选择((g,索引)=>new TableModel()
{
...
IsLastItem=index==(numDataTypes-1),
});
然后在ListBox(或ItemsControl)中,我使用了一个布尔值到可见性的转换器(类似于此处发布的转换器):


...

我做了一个类似于詹姆斯的修复。在绑定listbox的TableModel上添加布尔字段

我对按类型分组的数据有一个额外的要求,我将其保留在下面的LINQ查询中。如果不需要,可以使用allData.Count代替numDataTypes。我的布尔值名为IsLastItem,并填充有:

int numDataTypes = allData.Select(o => o.Type).Distinct().Count();
IEnumerable<TableModel> ByTypes = allData
              .GroupBy(o => o.Type)
              .Select((g, index) => new TableModel()
              {
                ...
                IsLastItem = index == (numDataTypes - 1),
              });
int numDataTypes=allData.Select(o=>o.Type).Distinct().Count();
IEnumerable ByTypes=allData
.GroupBy(o=>o.Type)
.选择((g,索引)=>new TableModel()
{
...
IsLastItem=index==(numDataTypes-1),
});
然后在ListBox(或ItemsControl)中,我使用了一个布尔值到可见性的转换器(类似于此处发布的转换器):


...