DataFilter.PlatformShared
1.1.0
See the version list below for details.
dotnet add package DataFilter.PlatformShared --version 1.1.0
NuGet\Install-Package DataFilter.PlatformShared -Version 1.1.0
<PackageReference Include="DataFilter.PlatformShared" Version="1.1.0" />
<PackageVersion Include="DataFilter.PlatformShared" Version="1.1.0" />
<PackageReference Include="DataFilter.PlatformShared" />
paket add DataFilter.PlatformShared --version 1.1.0
#r "nuget: DataFilter.PlatformShared, 1.1.0"
#:package DataFilter.PlatformShared@1.1.0
#addin nuget:?package=DataFilter.PlatformShared&version=1.1.0
#tool nuget:?package=DataFilter.PlatformShared&version=1.1.0
DataFilter.PlatformShared
Shared view-model logic for DataFilter UI specializations (WinForms, MAUI, WinUI 3, Uno/UWP XAML).
Localization
All popup UI stacks should source their user-facing strings (buttons, section headers, operator names, etc.)
from DataFilter.Localization.LocalizationManager so language switching works at runtime.
Per-grid culture override
IFilterableDataGridViewModel exposes:
CultureInfo? CultureOverride: optional UI override culture used by integrations when showing popups.
FilterableDataGridViewModel provides constructors:
new FilterableDataGridViewModel(CultureInfo? cultureOverride)new FilterableDataGridViewModel<T>(CultureInfo? cultureOverride)
Filter pipeline integration
IFilterableDataGridViewModel (implemented by FilterableDataGridViewModel and WPF’s CollectionViewFilterAdapter) includes:
Task ApplyFilterPipelineAsync(FilterPipeline pipeline)— compiles the pipeline, callsFilterContext.ReplaceDescriptors, resets page to 1, and refreshes data. Use this after loading a preset from JSON or editing the pipeline in your UI.FilterPipeline CreatePipelineFromCurrentSnapshot()— builds a mutableFilterPipelinefrom the current filters viaFilterPipelineInterop.FromLegacySnapshot(ExtractSnapshot()), suitable for displaying or serializing the active state.
Excel-style column filters continue to use ApplyColumnFilter / ClearColumnFilter (AddOrUpdateDescriptor under the hood). Mixing both approaches is possible but you should treat one path as the source of truth for a given screen, or sync explicitly.
FilterableDataGridViewModel and column popup sync
IFilterableDataGridViewModel.FilterDescriptorsChanged: Raised when the pipeline is applied/restored, when a column is cleared, and—on the local data path—whenLocalDataSourcereference changes afterRefreshDataAsync(so column headers can refetch distinct values andLoadStateAsyncinto the popup).RefreshDataAsync: ReconcilesExcelFilterDescriptor.State.SelectedValuesagainst distincts from the current source, then applies filters. Assign a newLocalDataSourcethen callRefreshDataAsyncso reconciliation and the event above run in order.ColumnFilterViewModel: AppliesExcelFilterSelectionReconcilerinInitializeAsyncwithdropSelectionsNotInDistinct: falseto preserve selections not in the current narrow distinct list.LoadStateAsyncrestores list selection or, for custom filters,UpdateSelectionFromCustomFilter(including all stackedAdditionalCustomCriteria) so the popup matchesExcelFilterDescriptor. For persistence, the Excel-like state can also express OR-combined search intent (OrSearchPatterns,OrSelectedValues) to avoid materializingIn(list)when reapplying presets on evolving data.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 is compatible. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net8.0
- CommunityToolkit.Mvvm (>= 8.4.0)
- DataFilter.Core (>= 1.1.0)
- DataFilter.Filtering.ExcelLike (>= 1.1.0)
- DataFilter.Localization (>= 1.1.0)
-
net9.0
- CommunityToolkit.Mvvm (>= 8.4.0)
- DataFilter.Core (>= 1.1.0)
- DataFilter.Filtering.ExcelLike (>= 1.1.0)
- DataFilter.Localization (>= 1.1.0)
NuGet packages (11)
Showing the top 5 NuGet packages that depend on DataFilter.PlatformShared:
| Package | Downloads |
|---|---|
|
DataFilter.Wpf
Package Description |
|
|
DataFilter.Blazor.PopupHost
Package Description |
|
|
DataFilter.WinUI3
Package Description |
|
|
DataFilter.Maui
Package Description |
|
|
DataFilter.WinForms
Package Description |
GitHub repositories
This package is not used by any popular GitHub repositories.