我想在WPF應用程序中鏈接兩個CollectionViewSource
。 有什麼辦法可以讓以下事情發揮作用?鏈接CollectionViewSource
MainWindow.xaml.cs:
using System.Collections.Generic;
using System.Linq;
using System.Windows;
namespace ChainingCollectionViewSource
{
public partial class MainWindow : Window
{
public IEnumerable<int> Items => Enumerable.Range(0, 10);
public MainWindow()
{
DataContext = this;
InitializeComponent();
}
}
}
MainWindow.xaml:
<Window x:Class="ChainingCollectionViewSource.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<Window.Resources>
<CollectionViewSource x:Key="ItemsViewA"
Source="{Binding Items}" />
<CollectionViewSource x:Key="ItemsViewB"
Source="{Binding Source={StaticResource ItemsViewA}}" />
</Window.Resources>
<ListBox ItemsSource="{Binding Source={StaticResource ItemsViewB}}" />
</Window>
你能解釋一下爲什麼你正在嘗試做的這個?也許有更好的方法去做呢? – Kelly
這基本上是一個更復雜的對象樹的摘錄。設想控制A通過CollectionViewSource過濾其數據並將其傳遞給控件B的ItemsSource。它的工作原理是控件B將通過將其ItemsSource綁定到其自己的CollectionViewSource來嘗試執行自己的過濾,分組或排序。 –