This commit is contained in:
neuecc 2021-08-13 18:35:45 +09:00
parent db803f83ed
commit ef0689ec4e
3 changed files with 39 additions and 1 deletions

View File

@ -7,6 +7,14 @@
mc:Ignorable="d" mc:Ignorable="d"
Title="MainWindow" Height="450" Width="800"> Title="MainWindow" Height="450" Width="800">
<Grid> <Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition />
<ColumnDefinition />
</Grid.ColumnDefinitions>
<ListView ItemsSource="{Binding ItemsView}"></ListView>
<Button Grid.Column="1" Click="Button_Click">Insert</Button>
</Grid> </Grid>
</Window> </Window>

View File

@ -1,7 +1,9 @@
using System; using ObservableCollections;
using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq; using System.Linq;
using System.Text; using System.Text;
using System.Threading;
using System.Threading.Tasks; using System.Threading.Tasks;
using System.Windows; using System.Windows;
using System.Windows.Controls; using System.Windows.Controls;
@ -20,9 +22,33 @@ namespace WpfApp
/// </summary> /// </summary>
public partial class MainWindow : Window public partial class MainWindow : Window
{ {
ObservableList<int> list;
public ISynchronizedView<int, int> ItemsView { get; set; }
public MainWindow() public MainWindow()
{ {
InitializeComponent(); InitializeComponent();
this.DataContext = this;
list = new ObservableList<int>();
list.AddRange(new[] { 1, 10, 188 });
ItemsView = list.CreateSortedView(x => x, x => x, comparer: Comparer<int>.Default).WithINotifyCollectionChanged();
BindingOperations.EnableCollectionSynchronization(ItemsView, new object());
}
int adder = 99;
private void Button_Click(object sender, RoutedEventArgs e)
{
ThreadPool.QueueUserWorkItem(_ =>
{
list.Add(adder++);
});
} }
} }
} }

View File

@ -7,4 +7,8 @@
<UseWPF>true</UseWPF> <UseWPF>true</UseWPF>
</PropertyGroup> </PropertyGroup>
<ItemGroup>
<ProjectReference Include="..\..\src\ObservableCollections\ObservableCollections.csproj" />
</ItemGroup>
</Project> </Project>