![]() |
VOOZH | about |
dotnet add package WinUI.TableView --version 1.4.1
NuGet\Install-Package WinUI.TableView -Version 1.4.1
<PackageReference Include="WinUI.TableView" Version="1.4.1" />
<PackageVersion Include="WinUI.TableView" Version="1.4.1" />Directory.Packages.props
<PackageReference Include="WinUI.TableView" />Project file
paket add WinUI.TableView --version 1.4.1
#r "nuget: WinUI.TableView, 1.4.1"
#:package WinUI.TableView@1.4.1
#addin nuget:?package=WinUI.TableView&version=1.4.1Install as a Cake Addin
#tool nuget:?package=WinUI.TableView&version=1.4.1Install as a Cake Tool
WinUI.TableView is a lightweight and fast data grid control made for WinUI apps and now supports the Uno Platform. It is easy to use, and capable of handling large numbers of items with a focus on performance. It's derived from ListView so you will experience fluent look and feel in your project. It comes with all the essential features you need, plus extras like an Excel like column filter, options buttons (for columns and the TableView) and easy data export.
π ci-build
π cd-build
π nuget
π nuget
Explore the interactive WinUI.TableView samples with code snippets in a Samples App on Microsoft Store or Uno Platorm WASM:
<a href="https://apps.microsoft.com/detail/9ntgb6lmjzx3?referrer=appbadge&mode=direct"> <img src="https://get.microsoft.com/images/en-us%20dark.svg" width="200"/> </a>
<br>
<a href="https://tableview.samples.w-ahmad.dev/"> <img align=center width="18%" src="https://raw.githubusercontent.com/unoplatform/styleguide/master/logo/uno-platform-logo-with-text.png" /> </a>
π WinUI TableView SampleApp
ShowExportOptions = true.RowDetailsTemplate.RowHeaderTemplate.WinUI.TableView is compatible with the Uno Platform, enabling you to use the control across multiple platforms.
Try the Uno WASM Sample App here π https://tableview.samples.w-ahmad.dev/
If you don't already have a WinUI 3 project or Uno prject, create one in Visual Studio.
Inatall WinUI.TableView NuGet package to your app with your preferred method. Here is the one using NuGet Package Manager:
Install-Package WinUI.TableView
WinUI.TableView to Your XAMLIn your MainWindow.xaml, add the WinUI.TableView control:
<Window
x:Class="App1.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="using:App1"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d"
xmlns:tv="using:WinUI.TableView">
<Grid>
<tv:TableView x:Name="MyTableView"
ItemsSource="{x:Bind ViewModel.Items}" />
</Grid>
</Window>
TableViewIn your MainPage.xaml.cs, set up the data context and bind data to the TableView:
public sealed partial class MainWindow : Window
{
public MainViewModel ViewModel { get; } = new MainViewModel();
public MainWindow()
{
this.InitializeComponent();
}
}
Create a simple MainViewModel with a collection of items to display:
public class MainViewModel
{
public ObservableCollection<Item> Items { get; set; }
public MainViewModel()
{
Items = new ObservableCollection<Item>
{
new Item { Name = "Item 1", Price = 10.0, Quantity = 1 },
new Item { Name = "Item 2", Price = 15.0, Quantity = 2 },
new Item { Name = "Item 3", Price = 20.0, Quantity = 3 },
// Add more items here
};
}
}
public class Item : INotifyPropertyChanged
{
private string _name;
private double _price;
private int _quantity;
public string Name
{
get => _name;
set
{
_name = value;
OnPropertyChanged(nameof(Name));
}
}
public double Price
{
get => _price;
set
{
_price = value;
OnPropertyChanged(nameof(Price));
}
}
public int Quantity
{
get => _quantity;
set
{
_quantity = value;
OnPropertyChanged(nameof(Quantity));
}
}
private void OnPropertyChanged(string propertyName)
{
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
}
public event PropertyChangedEventHandler PropertyChanged;
}
Build and run your application. You should see the TableView populated with the rows and cells from your ViewModel.
You can customize the appearance and behavior of the TableView by modifying its properties, templates, and styles. For example:
CornerButtonMode property to configure the corner button's behavior. You can select from:
None: No corner button.SelectAll: Displays a "Select All" button.Options: Displays an options menu.<tv:TableView x:Name="MyTableView"
ItemsSource="{x:Bind ViewModel.Items}"
AutoGenerateColumns="False"
xmlns:tv="using:WinUI.TableView">
<tv:TableView.Columns>
<tv:TableViewTextColumn Header="Name" Binding="{Binding Name}" />
<tv:TableViewNumberColumn Header="Price" Binding="{Binding Price}" />
<tv:TableViewTemplateColumn Header="Quantity">
<tv:TableViewTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding Quantity}" />
</DataTemplate>
</tv:TableViewTemplateColumn.CellTemplate>
<tv:TableViewTemplateColumn.EditingTemplate>
<DataTemplate>
<NumberBox Value="{Binding Quantity, Mode=TwoWay}" />
</DataTemplate>
</tv:TableViewTemplateColumn.EditingTemplate>
</tv:TableViewTemplateColumn>
</tv:TableView.Columns>
</tv:TableView>
Contributions are welcome from the community! If you find any issues or have suggestions for improvements, please submit them through the GitHub issue tracker or consider making a pull request.
If this project saves you time or adds value to your work, please consider supporting its continued development.
Your sponsorship helps cover development time, testing, and future improvements.
π Become a supporter on Patreon
Every contribution makes a difference β thank you!
This project is licensed under the MIT License.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 net8.0 is compatible. net8.0-android net8.0-android was computed. net8.0-browser net8.0-browser was computed. net8.0-ios net8.0-ios was computed. net8.0-maccatalyst net8.0-maccatalyst was computed. net8.0-macos net8.0-macos was computed. net8.0-tvos net8.0-tvos was computed. net8.0-windows net8.0-windows was computed. net8.0-windows10.0.19041 net8.0-windows10.0.19041 is compatible. net9.0 net9.0 is compatible. net9.0-android net9.0-android was computed. net9.0-browser net9.0-browser was computed. net9.0-ios net9.0-ios was computed. net9.0-maccatalyst net9.0-maccatalyst was computed. net9.0-macos net9.0-macos was computed. net9.0-tvos net9.0-tvos was computed. net9.0-windows net9.0-windows was computed. net9.0-windows10.0.19041 net9.0-windows10.0.19041 is compatible. net10.0 net10.0 is compatible. net10.0-android net10.0-android was computed. net10.0-browser net10.0-browser was computed. net10.0-ios net10.0-ios was computed. net10.0-maccatalyst net10.0-maccatalyst was computed. net10.0-macos net10.0-macos was computed. net10.0-tvos net10.0-tvos was computed. net10.0-windows net10.0-windows was computed. net10.0-windows10.0.19041 net10.0-windows10.0.19041 is compatible. |
Showing the top 1 NuGet packages that depend on WinUI.TableView:
| Package | Downloads |
|---|---|
|
Scrubbler.PluginBase
Base abstractions for Scrubbler plugins. |
Showing the top 6 popular GitHub repositories that depend on WinUI.TableView:
| Repository | Stars |
|---|---|
| beeradmoore/dlss-swapper | |
|
securefolderfs-community/SecureFolderFS
Powerful, secure, modern way to keep your files protected.
|
|
|
kyoyama-kazusa/Sudoku
A sudoku solver using brute forces and logical techniques.
|
|
|
AndrewKeepCoding/WinUI3Localizer
The WinUI3Localizer is a NuGet package that helps you localize your WinUI 3 app.
|
|
|
HaiyuGame/Haiyu
ιε―ΉδΊεΊζ΄PCζΈΈζηε―ε¨ε¨
|
|
|
TheJoeFin/Simple-QR-Code-Maker
Generate and Read QR Codes on Windows in this simple elegant app
|
| Version | Downloads | Last Updated |
|---|---|---|
| 1.4.1 | 23,117 | 4/21/2026 |
| 0.0.579-dev | 83 | 6/12/2026 |
| 0.0.567-dev | 85 | 6/9/2026 |
| 0.0.565-dev | 88 | 6/9/2026 |
| 0.0.559-dev | 94 | 6/4/2026 |
| 0.0.554-dev | 90 | 6/3/2026 |
| 0.0.552-dev | 91 | 6/3/2026 |
| 0.0.547-dev | 97 | 6/2/2026 |
| 0.0.546-dev | 94 | 6/1/2026 |
| 0.0.545-dev | 90 | 6/1/2026 |
| 0.0.540-dev | 98 | 5/24/2026 |
| 0.0.538-dev | 90 | 5/23/2026 |
| 0.0.536-dev | 94 | 5/20/2026 |
| 0.0.531-dev | 96 | 5/18/2026 |
| 0.0.526-dev | 92 | 5/16/2026 |
| 0.0.525-dev | 95 | 5/16/2026 |
| 0.0.524-dev | 87 | 5/16/2026 |
| 0.0.523-dev | 112 | 5/16/2026 |
| 0.0.496-dev | 109 | 4/15/2026 |
| 0.0.481-dev | 113 | 4/9/2026 |