gpt4 book ai didi

xaml - CollectionViewSource "Value does not fall within the expected range."

转载 作者:行者123 更新时间:2023-12-04 18:09:39 24 4
gpt4 key购买 nike

为什么此代码会在 Windows 8 XAML 应用程序中产生错误?

Value does not fall within the expected range.



XAML:
    <SemanticZoom>
<SemanticZoom.ZoomedInView>
<ListView
Style="{StaticResource HorizontalListViewStyle}"
SelectionMode="None"
ScrollViewer.IsHorizontalScrollChainingEnabled="False"
ItemsSource="{Binding BoardItems}"
ItemContainerStyle="{StaticResource ZoomedOutListViewItemContainerStyle}"
...

MVVM 代码:
ObservableCollection<WritingBoardModel> boards = new ObservableCollection<WritingBoardModel>();

... // Add item models to boards.

CollectionViewSource v = new CollectionViewSource()
{
Source = boards,
};

this.ViewModel.Add(BoardItemsViewModelKey, v);

如果我跳过 CollectionViewSource并直接添加 boards实例到我的 View 模型,然后一切正常。

我想我需要使用 CollectionViewSource为了让一些语义缩放选择行为起作用。

最佳答案

所以,CollectionViewSource s 很奇怪,你必须绑定(bind)到它们的方式也很奇怪。举个例子,为了“按书本”(示例项目的方式),我发现它实际上必须是 StaticResource像这样:

<Page.Resource>
<CollectionViewSource Source="{Binding Whatev}"
x:Key="WhatevSource"/>
</Page.Resource>

<GridView ItemsSource="{Binding Source={StaticResource WhatevSource}}"/>

请注意,我们没有将源直接设置为 CollectionViewSource。 ,但我们设置的是“无路” Binding ,基本上使用 CollectionViewSource作为 DataContext (只是一种思考方式,实际上在技术上并不正确)。

这是我能够让它工作的唯一方法,尽管我相信你可以在技术上在代码隐藏中设置 ItemsSource直接查看 CollectionViewSource或类似的东西。

关于xaml - CollectionViewSource "Value does not fall within the expected range.",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17682693/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com