gpt4 book ai didi

xaml - 如何仅在 XAML 中对 DataTemplate 中的 Listview 进行排序?

转载 作者:行者123 更新时间:2023-12-02 04:13:58 25 4
gpt4 key购买 nike

我有一个带有 TabControl 的窗口,我已经绑定(bind)到一个对象列表,我将调用 MyItem :

    <TabControl Name="MyTabPNL"  Background="Gainsboro"
ItemsSource="{Binding MyItemList, ElementName=WatcherWindow}"
ContentTemplate="{StaticResource tabItemTemplate}">
</TabControl>

这个 MyItem 类有一个 ObservableCollection,我想将它绑定(bind)到一个 Listview,我正在用一个 DataTemplate 来做这个。目标:我想在 XAML 中自动对这个 ObservableCollection 进行排序。通常我会使用 CollectionViewSource,但我找不到解决这个问题的方法......我已经尝试过类似的东西:

<DataTemplate x:Key="tabItemTemplate">
<DataTemplate.Resources>
<CollectionViewSource x:Key='dayList' Source="{Binding MyDayList}">
<CollectionViewSource.SortDescriptions>
<scm:SortDescription PropertyName="MyDate" Direction="Descending" />
</CollectionViewSource.SortDescriptions>
</CollectionViewSource>
</DataTemplate.Resources>

<Grid >
<ListView ItemsSource="{Binding Source={StaticResource dayList}}" >
<ListView.View>
<GridView x:Name="gridvwDay" >
<GridViewColumn Header="MyDate"
CellTemplate="{StaticResource myCellTemplatePNLDate}"
HeaderContainerStyle="{StaticResource CustomHeaderStyleNeutral}"
Width="70" />
</GridView>
</ListView.View>
</ListView>
</Grid>

但每次我遇到同样的错误:

System.Windows.Data Error: 2 : Cannot find governing FrameworkElement or FrameworkContentElement for target element. BindingExpression:Path=MyDayList; DataItem=null; target element is 'CollectionViewSource' (HashCode=58368655); target property is 'Source' (type 'Object')

我找不到在 ListView ItemsSource 中的 dayList 和 CollectionRessource 中的 dayList 之间建立链接的方法。你们有想法吗?

仅供引用:由于我正在使用的类的性质,预排序 ObservableCollection 是不可行的。

最佳答案

你试过简单吗,

<ListView ItemsSource="{StaticResource dayList}">

根据文档:http://msdn.microsoft.com/en-us/library/ms750950.aspx

当它在页面上只是静态时你不需要绑定(bind) :)

关于xaml - 如何仅在 XAML 中对 DataTemplate 中的 Listview 进行排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3684389/

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