我可以创建一个独立于我的collectionviewsource的自定义gridviewitem吗?

时间:2013-04-14 23:27:45

标签: xaml gridview windows-runtime collectionviewsource

我有一个CollectionViewSource用于填充我的gridviewitems(黑色方块),我想知道是否可以添加一个独立于我的collectionviewsource的gridviewitem(红色方块)。我可以提供所需的任何其他信息。谢谢你的帮助!

我没有想要发布图片的代表,所以这里是图片的链接,显示我想要做的事情:

Image

编辑 - 我在WinRT for Windows 8中这样做

1 个答案:

答案 0 :(得分:1)

您可以使用CompositeCollection执行此类操作

以下是使用CompositeCollection

的简单示例

的Xaml:

<Window x:Class="WpfApplication10.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="MainWindow" Height="325" Width="422" Name="UI">

    <Window.Resources>
        <CollectionViewSource x:Key="myViewSource" Source="{Binding Items, ElementName=UI}" />
    </Window.Resources>

    <Grid DataContext="{Binding ElementName=UI}">
        <ListView>
            <ListView.ItemsSource>
                <CompositeCollection>
                    <ListViewItem Content="Hello" />
                    <CollectionContainer Collection="{Binding Source={StaticResource myViewSource}}" />
                </CompositeCollection>
            </ListView.ItemsSource>
        </ListView>
    </Grid>
</Window>

代码:

public partial class MainWindow : Window
{
    public MainWindow()
    {
        InitializeComponent();
    }

    public IEnumerable<string> Items
    {
        get
        {
            yield return "Item1";
            yield return "Item2";
            yield return "Item3";
        }
    }
}

结果:

enter image description here