给出下列代码:

<Window x:Class="WpfApplication76.Window1"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:col="clr-namespace:System.Collections;assembly=mscorlib"
    Title="Window1" Height="300" Width="300">

    <Window.Resources>
        <CollectionViewSource x:Key="myCol">
            <CollectionViewSource.Source>
                <col:ArrayList>
                    <ListBoxItem>Uno</ListBoxItem>
                    <ListBoxItem>Dos</ListBoxItem>
                    <ListBoxItem>Tres</ListBoxItem>
                </col:ArrayList>
            </CollectionViewSource.Source>
        </CollectionViewSource>
    </Window.Resources>

    <Grid>
        <ListBox ItemsSource="{StaticResource myCol}" />
        <ListBox ItemsSource="{Binding Source={StaticResource myCol}}" />
    </Grid>

</Window>

在这个例子中,

<ListBox ItemsSource="{StaticResource myCol}" />

给我一个错误抱怨说,它不能结合到一个"CollectionViewSource"的对象。

但是,其他列表框:

<ListBox ItemsSource="{Binding Source={StaticResource myCol}}" />

结合完美的罚款。

所以我的问题是,为什么不会一个工作而另一个不?结束时,不是两ItenSources被设定为相同的"CollectionViewSource"的对象?

谢谢你。

有帮助吗?

解决方案

属性是类型的类型.CollectionViewSource不是一个综合.CollectionViewSource的看酒店会给你一个综合.

当你结合到一CollectionViewSource的结合是能够抓住观性和实际结合。也许CollectionViewSource有[DefaultBindingProperty]。

这归结为一个事实,当你去通过的结合你不会真的结合到CollectionViewSource,但它认的财产。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top