Overview
FlowKanbanHome is a home screen control for listing and managing multiple Kanban boards. It provides a responsive grid of boards with thumbnails, search filtering, sorting options, and board actions (open, rename, duplicate, delete, export).
Namespace: Flowery.Uno.Kanban.ControlsAssembly:
Flowery.Uno.Kanban.dll
Key Features
- Board Grid: Responsive card-based layout with board thumbnails
- Search: Filter boards by title with real-time updates
- Sort: Order by name (A-Z, Z-A) or modification date (newest/oldest)
- Board Actions: Open, rename, duplicate, delete, export via context menu
- Empty State: Shows welcome message when no boards exist
- Welcome Banner: Configurable welcome message with title and subtitle
- Localization: Fully localized UI strings
Basic Usage
Standalone Control
With FlowKanban
FlowKanban automatically creates and manages a FlowKanbanHome instance internally. Navigate to it using the ShowHomeCommand.
Properties
Board Management
Collection of available boards. Add/remove boards to update the grid.FlowBoardMetadata Properties:
Id: string- Unique board identifierTitle: string- Board titleLastModified: DateTime- Last modification timestampTaskCount: int- Total task countColumnCount: int- Total column count
Filtered and sorted boards based on
SearchText and SortMode. Automatically updated when search or sort changes.True when
FilteredBoards is not empty (after search/sort).True when
Boards is not empty (before search/sort).True when no boards match the current search/sort. Shows empty state message.
Search & Sort
Search text used to filter boards by title (case-insensitive contains match).
Current sort mode. Values:
RecentlyModified- Newest first (default)RecentlyModifiedAscending- Oldest firstNameAscending- A-ZNameDescending- Z-A
Index of current sort mode (for ComboBox binding). Synced with
SortMode:0= RecentlyModified1= NameAscending2= NameDescending3= RecentlyModifiedAscending
Welcome Message
Controls visibility of the welcome banner.
Custom title for the welcome banner. Leave empty to hide title row.
Custom subtitle for the welcome banner. Leave empty to hide subtitle row.
True when welcome banner should be shown (based on
ShowWelcomeMessage and non-empty title/subtitle).Computed welcome title for display (uses custom title or empty string).
Computed welcome subtitle for display (uses custom subtitle or empty string).
Localization
Localization instance for UI strings. Automatically updates when culture changes.
Commands
Board Actions
Parameter:
Opens the specified board. Typically navigates to FlowKanban board view.
FlowBoardMetadataOpens the specified board. Typically navigates to FlowKanban board view.
Creates a new blank board.
Creates a demo board with sample data.
Parameter:
Opens rename dialog for the specified board.
FlowBoardMetadataOpens rename dialog for the specified board.
Parameter:
Deletes the specified board (with confirmation).
FlowBoardMetadataDeletes the specified board (with confirmation).
Parameter:
Duplicates the specified board.
FlowBoardMetadataDuplicates the specified board.
Parameter:
Exports the specified board to JSON file (Windows only).
FlowBoardMetadataExports the specified board to JSON file (Windows only).
Board Card Layout
Each board card in the grid displays:- Title: Board name (truncated with ellipsis if too long)
- Last Modified: Relative timestamp (“2 hours ago”, “Yesterday”, etc.)
- Task Count: Total tasks in board
- Column Count: Total columns in board
- Menu Button: Context menu with actions (Open, Rename, Duplicate, Export, Delete)
Card Actions
- Tap card surface: Opens board (same as Open menu action)
- Tap menu button: Shows context menu with all actions
Search & Sort Behavior
Search
- Case-insensitive: “kanban” matches “Kanban”, “KANBAN”, “kanBAN”
- Contains match: “sprint” matches “Sprint Planning”, “Sprint 2”
- Real-time: Updates as you type (no submit button)
- Empty search: Shows all boards
Sort
Recently Modified (default)Newest modified boards first. Useful for resuming recent work. Recently Modified Ascending
Oldest modified boards first. Useful for finding neglected boards. Name Ascending (A-Z)
Alphabetical order. Useful for large board collections. Name Descending (Z-A)
Reverse alphabetical order.
Combined Search + Sort
Search filters boards first, then sort is applied to filtered results. Example: Search “sprint” + Sort “Name Ascending” shows all boards with “sprint” in title, sorted A-Z.Empty States
No Boards Exist
Shows whenBoards collection is empty:
No Search Results
Shows when search has no matches:Welcome Banner
Configurable welcome message shown at top of Home screen:Complete Example
XAML
ViewModel
Best Practices
Performance
- Lazy load thumbnails: Don’t render full board previews in list view
- Virtualization: Use
ItemsRepeaterwith virtualization for 100+ boards - Debounce search: Already built-in, but consider additional debouncing for expensive filters
UX Guidelines
- Show recent boards prominently: Default to “Recently Modified” sort
- Confirm destructive actions: Always confirm board deletion
- Provide feedback: Show toast/snackbar after board actions
- Enable keyboard navigation: Support arrow keys and Enter to open boards
Accessibility
- All board cards expose
AutomationProperties.Namefor screen readers - Menu buttons include accessible labels
- Search box has proper label association
- Sort ComboBox announces current selection
Related Components
- FlowKanban - Interactive Kanban board control
- FlowKanbanManager - Programmatic API
FlowBoardMetadata- Lightweight board metadata modelFlowKanbanView- Enum for switching between Board/Home views

