Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
49 commits
Select commit Hold shift + click to select a range
3fec650
Add WinUi and WPF licenses [skip ci]
pomianowski Aug 24, 2022
8c5fa79
Prepare base classes for NavigationView
pomianowski Aug 24, 2022
9337ba4
Throw away all the old navigation, lets start fresh
pomianowski Aug 24, 2022
9d23ce5
Add visual style for NavigationView
pomianowski Aug 24, 2022
71fcf8d
Add PaneLength and Header property to NavigationView
pomianowski Aug 24, 2022
063bc9e
Expand NavigationView properties [skip ci]
pomianowski Aug 24, 2022
0ae73fa
Update manifest file
pomianowski Aug 26, 2022
d2a3cde
Implement Pane Display Mode
pomianowski Aug 26, 2022
e6894cc
Add styles for separator
pomianowski Aug 26, 2022
3206ff2
Add styles for header
pomianowski Aug 26, 2022
0839eaf
Update global xaml
pomianowski Aug 26, 2022
33aa699
Base logic representation
pomianowski Aug 26, 2022
f6a8bca
Base starting template for the NavigationView
pomianowski Aug 26, 2022
391eb8e
Add custom `NavigationViewBreadcrumb` control
pomianowski Aug 26, 2022
c3b1305
Update pane display mode
pomianowski Aug 26, 2022
b6fce8b
Update styles and properties
pomianowski Aug 26, 2022
ea145f9
Add visibility converters
pomianowski Aug 27, 2022
acafd9e
Fix style for Fluent style navigation
pomianowski Aug 27, 2022
4f06064
Add unique Id to the NavigationViewItem
pomianowski Aug 27, 2022
6436ad8
Add basic journal for backward navigation
pomianowski Aug 27, 2022
da7b571
Update journal
pomianowski Aug 27, 2022
c8961a8
Add HeaderVisibility and TitleBar to NavigationView
pomianowski Aug 27, 2022
2ea5335
Restore Navigation Activator
pomianowski Aug 27, 2022
6d3a29f
Restore services
pomianowski Aug 27, 2022
da82702
Improve navigation workflow
pomianowski Aug 27, 2022
0dc283c
Fix Demo apps
pomianowski Aug 27, 2022
05df2b1
Merge branch 'development' of github.com:lepoco/wpfui into refactor/n…
pomianowski Aug 30, 2022
9ee8886
Merge branch 'development' of github.com:lepoco/wpfui into refactor/n…
pomianowski Aug 30, 2022
fb2ae47
Merge branch 'development' of github.com:lepoco/wpfui into refactor/n…
pomianowski Sep 7, 2022
ae96f7e
Merge branch 'development' of github.com:lepoco/wpfui into refactor/n…
pomianowski Sep 17, 2022
5a5d670
Update transitions [skip ci]
pomianowski Sep 17, 2022
42162d1
Merge branch 'development' of github.com:lepoco/wpfui into refactor/n…
pomianowski Sep 18, 2022
5396352
POC - NavigationItem subitems
pomianowski Sep 18, 2022
b9d47e6
Merge branch 'development' of github.com:lepoco/wpfui into refactor/n…
pomianowski Sep 23, 2022
1cc739b
Merge branch 'development' of github.com:lepoco/wpfui into refactor/n…
pomianowski Sep 23, 2022
6d6851c
Merge branch 'development' of github.com:lepoco/wpfui into refactor/n…
pomianowski Sep 25, 2022
fc12e5e
Merge branch 'development' of github.com:lepoco/wpfui into refactor/n…
pomianowski Oct 7, 2022
71070af
Add ChosenSuggestion to AutoSuggestBox
pomianowski Oct 8, 2022
aa6c9e8
Update Demo navigations
pomianowski Oct 8, 2022
24d1b7a
Update AutoSuggestBox in NavigationView
pomianowski Oct 8, 2022
f5a1778
Update internal navigation
pomianowski Oct 8, 2022
515780f
Update AutoSuggestBox in NavigationView
pomianowski Oct 8, 2022
5f0dea0
Initialize ItemSource in NavigationViewItem
pomianowski Oct 8, 2022
829bd9c
Check Page Type when adding items to AutoSuggestBox in Navigation
pomianowski Oct 9, 2022
dfd29ed
Add controls bitmaps
pomianowski Oct 9, 2022
af2bcc9
Do not check nullability in target type
pomianowski Oct 9, 2022
9b58fc9
Merge branch 'development' of github.com:lepoco/wpfui into refactor/n…
pomianowski Oct 9, 2022
55b743b
Merge branch 'development' of github.com:lepoco/wpfui into refactor/n…
pomianowski Oct 9, 2022
83574fd
Update new demo apps with new navigation
pomianowski Oct 9, 2022
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
27 changes: 12 additions & 15 deletions src/Wpf.Ui.Demo.Mvvm/ViewModels/ContainerViewModel.cs
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
using CommunityToolkit.Mvvm.ComponentModel;
using Wpf.Ui.Common;
using Wpf.Ui.Controls;
using Wpf.Ui.Controls.Interfaces;
using Wpf.Ui.Controls.Navigation;
using Wpf.Ui.Mvvm.Contracts;

namespace Wpf.Ui.Demo.Mvvm.ViewModels;
Expand All @@ -21,10 +21,10 @@ public partial class ContainerViewModel : ObservableObject
private string _applicationTitle = String.Empty;

[ObservableProperty]
private ObservableCollection<INavigationControl> _navigationItems = new();
private ObservableCollection<object> _navigationItems = new();

[ObservableProperty]
private ObservableCollection<INavigationControl> _navigationFooter = new();
private ObservableCollection<object> _navigationFooter = new();

[ObservableProperty]
private ObservableCollection<MenuItem> _trayMenuItems = new();
Expand All @@ -37,34 +37,31 @@ public ContainerViewModel(INavigationService navigationService)

private void InitializeViewModel()
{
ApplicationTitle = "WPF UI - Wpf.Ui.Demo.Mvvm";
ApplicationTitle = "WPF UI - MVVM Demo";

NavigationItems = new ObservableCollection<INavigationControl>
NavigationItems = new ObservableCollection<object>
{
new NavigationItem()
new NavigationViewItem()
{
Content = "Home",
PageTag = "dashboard",
Icon = SymbolRegular.Home24,
PageType = typeof(Views.Pages.DashboardPage)
TargetPageType = typeof(Views.Pages.DashboardPage)
},
new NavigationItem()
new NavigationViewItem()
{
Content = "Data",
PageTag = "data",
Icon = SymbolRegular.DataHistogram24,
PageType = typeof(Views.Pages.DataPage)
TargetPageType = typeof(Views.Pages.DataPage)
}
};

NavigationFooter = new ObservableCollection<INavigationControl>
NavigationFooter = new ObservableCollection<object>
{
new NavigationItem()
new NavigationViewItem()
{
Content = "Settings",
PageTag = "settings",
Icon = SymbolRegular.Settings24,
PageType = typeof(Views.Pages.SettingsPage)
TargetPageType = typeof(Views.Pages.SettingsPage)
}
};

Expand Down
58 changes: 23 additions & 35 deletions src/Wpf.Ui.Demo.Mvvm/Views/Container.xaml
Original file line number Diff line number Diff line change
Expand Up @@ -18,58 +18,46 @@
WindowStartupLocation="CenterScreen"
mc:Ignorable="d">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>

<ui:NavigationCompact
<ui:NavigationView
x:Name="RootNavigation"
Grid.Column="0"
Footer="{Binding ViewModel.NavigationFooter, Mode=TwoWay}"
Frame="{Binding ElementName=RootFrame, Mode=OneWay}"
Items="{Binding ViewModel.NavigationItems, Mode=TwoWay}" />
Grid.Row="1"
FooterMenuItemsSource="{Binding ViewModel.NavigationFooter, Mode=OneWay}"
MenuItemsSource="{Binding ViewModel.NavigationItems, Mode=OneWay}">
<ui:NavigationView.AutoSuggestBox>
<ui:AutoSuggestBox
Margin="8,8,8,16"
IconPlacement="Right"
PlaceholderEnabled="True"
PlaceholderText="Search" />
</ui:NavigationView.AutoSuggestBox>
<ui:NavigationView.Header>
<ui:NavigationViewBreadcrumb
Margin="42,32,0,0"
FontSize="28"
FontWeight="DemiBold" />
</ui:NavigationView.Header>
</ui:NavigationView>

<ui:TitleBar
Title="{Binding ViewModel.ApplicationTitle, Mode=OneWay}"
Grid.Row="0"
Grid.Column="0"
Grid.ColumnSpan="2"
Margin="42,0,0,0"
Icon="pack://application:,,,/Assets/applicationIcon-256.png">
<ui:TitleBar.Tray>
<ui:NotifyIcon
FocusOnLeftClick="True"
Icon="pack://application:,,,/Assets/applicationIcon-256.png"
MenuOnRightClick="True"
TooltipText="Wpf.Ui.Demo.Mvvm">
TooltipText="WPF UI - MVVM Demo">
<ui:NotifyIcon.Menu>
<ContextMenu ItemsSource="{Binding ViewModel.TrayMenuItems, Mode=OneWay}" />
</ui:NotifyIcon.Menu>
</ui:NotifyIcon>
</ui:TitleBar.Tray>
</ui:TitleBar>

<Grid Grid.Column="1">
<Border
Margin="0,46,0,0"
Background="{DynamicResource ControlFillColorDefaultBrush}"
CornerRadius="8,0,0,0">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<Frame x:Name="RootFrame" Grid.Row="1" />
<ui:Breadcrumb
Grid.Row="0"
Margin="56,32"
HorizontalAlignment="Left"
VerticalAlignment="Top"
FontSize="28"
Navigation="{Binding ElementName=RootNavigation, Mode=OneWay}" />
</Grid>
</Border>
</Grid>
</Grid>
</ui:UiWindow>
18 changes: 12 additions & 6 deletions src/Wpf.Ui.Demo.Mvvm/Views/Container.xaml.cs
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@

using System;
using System.Windows;
using System.Windows.Controls;
using Wpf.Ui.Controls.Interfaces;
using Wpf.Ui.Mvvm.Contracts;

Expand Down Expand Up @@ -36,17 +35,14 @@ public Container(ViewModels.ContainerViewModel viewModel, IPageService pageServi

#region INavigationWindow methods

public Frame GetFrame()
=> RootFrame;

public INavigation GetNavigation()
public INavigationView GetNavigation()
=> RootNavigation;

public bool Navigate(Type pageType)
=> RootNavigation.Navigate(pageType);

public void SetPageService(IPageService pageService)
=> RootNavigation.PageService = pageService;
=> RootNavigation.SetPageService(pageService);

public void ShowWindow()
=> Show();
Expand All @@ -66,4 +62,14 @@ protected override void OnClosed(EventArgs e)
// Make sure that closing this window will begin the process of closing the application.
Application.Current.Shutdown();
}

INavigationView INavigationWindow.GetNavigation()
{
throw new NotImplementedException();
}

public void SetServiceProvider(IServiceProvider serviceProvider)
{
throw new NotImplementedException();
}
}
2 changes: 1 addition & 1 deletion src/Wpf.Ui.Demo.Mvvm/Views/Pages/DashboardPage.xaml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
Foreground="{DynamicResource TextFillColorPrimaryBrush}"
mc:Ignorable="d">

<Grid Margin="56,0" VerticalAlignment="Top">
<Grid Margin="42" VerticalAlignment="Top">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
Expand Down
2 changes: 1 addition & 1 deletion src/Wpf.Ui.Demo.Mvvm/Views/Pages/DataPage.xaml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
d:DesignWidth="800"
mc:Ignorable="d">

<Grid Margin="56,0">
<Grid Margin="42">
<ui:VirtualizingItemsControl
Foreground="{DynamicResource TextFillColorSecondaryBrush}"
ItemsSource="{Binding ViewModel.Colors, Mode=OneWay}"
Expand Down
2 changes: 1 addition & 1 deletion src/Wpf.Ui.Demo.Mvvm/Views/Pages/SettingsPage.xaml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
<helpers:EnumToBooleanConverter x:Key="EnumToBooleanConverter" />
</ui:UiPage.Resources>

<StackPanel Margin="56,0">
<StackPanel Margin="42">
<TextBlock
FontSize="20"
FontWeight="Medium"
Expand Down
73 changes: 29 additions & 44 deletions src/Wpf.Ui.Demo.Simple/MainWindow.xaml
Original file line number Diff line number Diff line change
Expand Up @@ -16,39 +16,46 @@
WindowStartupLocation="CenterScreen"
mc:Ignorable="d">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>

<ui:NavigationCompact
x:Name="RootNavigation"
Grid.Column="0"
Frame="{Binding ElementName=RootFrame, Mode=OneWay}">
<ui:NavigationCompact.Items>
<ui:NavigationItem
<ui:NavigationView x:Name="RootNavigation" Grid.Row="1">
<ui:NavigationView.AutoSuggestBox>
<ui:AutoSuggestBox
Margin="8,8,8,16"
IconPlacement="Right"
PlaceholderEnabled="True"
PlaceholderText="Search" />
</ui:NavigationView.AutoSuggestBox>
<ui:NavigationView.Header>
<ui:NavigationViewBreadcrumb
Margin="42,32,0,0"
FontSize="28"
FontWeight="DemiBold" />
</ui:NavigationView.Header>
<ui:NavigationView.MenuItems>
<ui:NavigationViewItem
Content="Dashboard"
Icon="Home24"
PageType="{x:Type pages:DashboardPage}" />
<ui:NavigationItem
TargetPageType="{x:Type pages:DashboardPage}" />
<ui:NavigationViewItem
Content="Data"
Icon="DataHistogram24"
PageType="{x:Type pages:DataPage}" />
</ui:NavigationCompact.Items>
<ui:NavigationCompact.Footer>
<ui:NavigationItem
TargetPageType="{x:Type pages:DataPage}" />
</ui:NavigationView.MenuItems>
<ui:NavigationView.FooterMenuItems>
<ui:NavigationViewItem
Content="Settings"
Icon="Settings24"
PageType="{x:Type pages:SettingsPage}" />
</ui:NavigationCompact.Footer>
</ui:NavigationCompact>
TargetPageType="{x:Type pages:SettingsPage}" />
</ui:NavigationView.FooterMenuItems>
</ui:NavigationView>

<ui:TitleBar
Title="WPF UI - Simple Demo"
Grid.Row="0"
Grid.Column="0"
Grid.ColumnSpan="2"
Margin="42,0,0,0"
Icon="pack://application:,,,/Assets/applicationIcon-256.png">
<ui:TitleBar.Tray>
<ui:NotifyIcon
Expand All @@ -62,27 +69,5 @@
</ui:NotifyIcon>
</ui:TitleBar.Tray>
</ui:TitleBar>

<Grid Grid.Column="1">
<Border
Margin="0,46,0,0"
Background="{DynamicResource ControlFillColorDefaultBrush}"
CornerRadius="8,0,0,0">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<Frame x:Name="RootFrame" Grid.Row="1" />
<ui:Breadcrumb
Grid.Row="0"
Margin="56,32"
HorizontalAlignment="Left"
VerticalAlignment="Top"
FontSize="28"
Navigation="{Binding ElementName=RootNavigation, Mode=OneWay}" />
</Grid>
</Border>
</Grid>
</Grid>
</ui:UiWindow>
2 changes: 1 addition & 1 deletion src/Wpf.Ui.Demo.Simple/Views/Pages/DashboardPage.xaml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
Foreground="{DynamicResource TextFillColorPrimaryBrush}"
mc:Ignorable="d">

<Grid Margin="56,0" VerticalAlignment="Top">
<Grid Margin="42" VerticalAlignment="Top">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
Expand Down
2 changes: 1 addition & 1 deletion src/Wpf.Ui.Demo.Simple/Views/Pages/DataPage.xaml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
d:DesignWidth="800"
mc:Ignorable="d">

<Grid Margin="56,0">
<Grid Margin="42">
<ui:VirtualizingItemsControl
x:Name="ColorsItemsControl"
Foreground="{DynamicResource TextFillColorSecondaryBrush}"
Expand Down
2 changes: 1 addition & 1 deletion src/Wpf.Ui.Demo.Simple/Views/Pages/SettingsPage.xaml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
Foreground="{DynamicResource TextFillColorPrimaryBrush}"
mc:Ignorable="d">

<StackPanel Margin="56,0">
<StackPanel Margin="42">
<TextBlock
FontSize="20"
FontWeight="Medium"
Expand Down
2 changes: 1 addition & 1 deletion src/Wpf.Ui/Animations/Transitions.cs
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ namespace Wpf.Ui.Animations;
/// </summary>
public static class Transitions
{
private const double DecelerationRatio = 0.7;
private const double DecelerationRatio = 0.7D;

/// <summary>
/// Attempts to apply an animation effect while adding content to the frame.
Expand Down
4 changes: 2 additions & 2 deletions src/Wpf.Ui/Common/Interfaces/INavigableView.cs
Original file line number Diff line number Diff line change
Expand Up @@ -8,13 +8,13 @@
namespace Wpf.Ui.Common.Interfaces;

/// <summary>
/// A view whose ViewModel is separate from the DataContext and can be navigated by <see cref="INavigation"/>.
/// A component whose ViewModel is separate from the DataContext and can be navigated by <see cref="INavigationView"/>.
/// </summary>
public interface INavigableView<out T>
{
/// <summary>
/// ViewModel used by the view.
/// Optionally, it may implement <see cref="INavigationAware"/> and be navigated by <see cref="INavigation"/>.
/// Optionally, it may implement <see cref="INavigationAware"/> and be navigated by <see cref="INavigationView"/>.
/// </summary>
T ViewModel { get; }
}
13 changes: 0 additions & 13 deletions src/Wpf.Ui/Common/NavigationType.cs

This file was deleted.

Loading