[C#/WPF] VirtualizingStackPanel 클래스 : IsVirtualizing/VirtualizationMode 속성을 사용해 대용량 데이터 바인딩하기
C#/WPF 2021. 12. 31. 23:53728x90
반응형
728x170
■ VirtualizingStackPanel 클래스의 IsVirtualizing/VirtualizationMode 속성을 사용해 대용량 데이터를 바인딩하는 방법을 보여준다.
▶ StringCollection.cs
using System.Collections.ObjectModel;
namespace TestProject
{
/// <summary>
/// 문자열 컬렉션
/// </summary>
public class StringCollection : ObservableCollection<string>
{
//////////////////////////////////////////////////////////////////////////////////////////////////// Constructor
////////////////////////////////////////////////////////////////////////////////////////// Public
#region 생성자 - StringCollection()
/// <summary>
/// 생성자
/// </summary>
public StringCollection()
{
for(int i = 0; i < 1000000; ++i)
{
Add("항목 " + i.ToString());
}
}
#endregion
}
}
▶ MainWindow.xaml
<Window x:Class="TestProject.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:TestProject"
Width="800"
Height="600"
Title="VirtualizingStackPanel 클래스 : IsVirtualizing/VirtualizationMode 속성을 사용해 대용량 데이터 바인딩하기"
FontFamily="나눔고딕코딩"
FontSize="16">
<Window.Resources>
<local:StringCollection x:Key="StringCollectionKey" />
</Window.Resources>
<Grid>
<ListBox
VirtualizingStackPanel.IsVirtualizing="True"
VirtualizingStackPanel.VirtualizationMode="Recycling"
ItemsSource="{StaticResource StringCollectionKey}" />
</Grid>
</Window>
728x90
반응형
그리드형(광고전용)
'C# > WPF' 카테고리의 다른 글
[C#/WPF] Frame 클래스 : Source 속성을 사용해 컨텐트 XAML 페이지 로드하기 (0) | 2022.01.02 |
---|---|
[C#/WPF] Application 클래스 : GetContentStream 정적 메소드를 사용해 컨텐트 XAML 페이지 로드하기 (0) | 2022.01.02 |
[C#/WPF] Frame 엘리먼트 : Source 속성을 사용해 리소스 XAML 페이지 로드하기 (0) | 2022.01.02 |
[C#/WPF] Frame 클래스 : Source 속성을 사용해 리소스 XAML 페이지 로드하기 (0) | 2022.01.02 |
[C#/WPF] Application 클래스 : GetResourceStream 정적 메소드를 사용해 리소스 XAML 페이지 로드하기 (0) | 2022.01.02 |
[C#/WPF] Popup 클래스 : 다른 엘리먼트 위에 엘리먼트를 오버레이 배치하기 (0) | 2021.12.31 |
[C#/WPF] HwndHost 클래스 : WPF 윈도우 내부에서 메모장 윈도우 호스팅하기 (0) | 2021.12.31 |
[C#/WPF] 3D 애니메이션 시계 사용하기 (절전 모드 방지 기능 추가) (0) | 2021.11.17 |
[C#/WPF] DataGrid 클래스 : 데이터 업데이트 성능 측정하기 (0) | 2021.10.22 |
[C#/WPF] DataGrid 클래스 : 대용량 데이터 바인딩하기 (0) | 2021.10.03 |
댓글을 달아 주세요