From 4c374069f2b5d1c451ce9fdd60e0691c43ce4663 Mon Sep 17 00:00:00 2001 From: Vova <3emaster@gmail.com> Date: Sun, 21 Jan 2024 12:14:48 +0200 Subject: [PATCH] navigation menu & design --- TV Player WPF/App.xaml | 7 +- TV Player WPF/Assets/GroupButtonStyle.xaml | 64 +++++++++++++++++++ TV Player WPF/BooleanToVisibilityConverter.cs | 26 ++++++++ TV Player WPF/EnumToBooleanConverter.cs | 22 ------- TV Player WPF/GroupButton.cs | 37 +++++++++++ TV Player WPF/GroupButton.xaml | 26 -------- TV Player WPF/GroupButton.xaml.cs | 17 ----- TV Player WPF/MainWindow.xaml | 14 +++- TV Player WPF/ProgramsGroupGrid.xaml | 17 +++-- TV Player WPF/VideoPlayer.xaml | 2 +- TV Player WPF/VideoPlayer.xaml.cs | 12 ++-- TV Player WPF/ViewModels/MainViewModel.cs | 19 +++++- TV Player WPF/ViewModels/PlayerViewModel.cs | 2 +- .../ViewModels/ProgramsGroupViewModel.cs | 2 + .../ViewModels/ProgramsListViewModel.cs | 10 ++- TV Player WPF/ViewModels/TVPlayerViewModel.cs | 16 ++++- 16 files changed, 207 insertions(+), 86 deletions(-) create mode 100644 TV Player WPF/Assets/GroupButtonStyle.xaml create mode 100644 TV Player WPF/BooleanToVisibilityConverter.cs delete mode 100644 TV Player WPF/EnumToBooleanConverter.cs create mode 100644 TV Player WPF/GroupButton.cs delete mode 100644 TV Player WPF/GroupButton.xaml delete mode 100644 TV Player WPF/GroupButton.xaml.cs diff --git a/TV Player WPF/App.xaml b/TV Player WPF/App.xaml index 4ace1b4..532066b 100644 --- a/TV Player WPF/App.xaml +++ b/TV Player WPF/App.xaml @@ -1,9 +1,12 @@  - + + + + + diff --git a/TV Player WPF/Assets/GroupButtonStyle.xaml b/TV Player WPF/Assets/GroupButtonStyle.xaml new file mode 100644 index 0000000..6ab952a --- /dev/null +++ b/TV Player WPF/Assets/GroupButtonStyle.xaml @@ -0,0 +1,64 @@ + + + + + + + + \ No newline at end of file diff --git a/TV Player WPF/BooleanToVisibilityConverter.cs b/TV Player WPF/BooleanToVisibilityConverter.cs new file mode 100644 index 0000000..08b741b --- /dev/null +++ b/TV Player WPF/BooleanToVisibilityConverter.cs @@ -0,0 +1,26 @@ +using System.Windows; +using System.Windows.Data; + +namespace TV_Player +{ + public class BooleanToVisibilityConverter : IValueConverter + { + public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) + { + if (value is Boolean && (bool)value) + { + return Visibility.Visible; + } + return Visibility.Collapsed; + } + + public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) + { + if (value is Visibility && (Visibility)value == Visibility.Visible) + { + return true; + } + return false; + } + } +} diff --git a/TV Player WPF/EnumToBooleanConverter.cs b/TV Player WPF/EnumToBooleanConverter.cs deleted file mode 100644 index 1205a56..0000000 --- a/TV Player WPF/EnumToBooleanConverter.cs +++ /dev/null @@ -1,22 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using System.Windows.Data; - -namespace TV_Player -{ - public class EnumToBooleanConverter : IValueConverter - { - public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) - { - return value.Equals(parameter); - } - - public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) - { - return value.Equals(true) ? parameter : Binding.DoNothing; - } - } -} diff --git a/TV Player WPF/GroupButton.cs b/TV Player WPF/GroupButton.cs new file mode 100644 index 0000000..0b8f9c1 --- /dev/null +++ b/TV Player WPF/GroupButton.cs @@ -0,0 +1,37 @@ +using System.Windows; +using System.Windows.Controls; + +namespace TV_Player +{ + /// + /// Interaction logic for GroupButton.xaml + /// + public partial class GroupButton : UserControl + { + public static readonly DependencyProperty GroupNameProperty = + DependencyProperty.Register( + "GroupName", // Name of the property + typeof(string), // Type of the property + typeof(GroupButton), // Type of the owner class + new PropertyMetadata(string.Empty) // Default value + ); + public string GroupName + { + get { return (string)GetValue(GroupNameProperty); } + set { SetValue(GroupNameProperty, value); } + } + + public static readonly DependencyProperty ProgramsCountProperty = + DependencyProperty.Register( + "ProgramsCount", // Name of the property + typeof(string), // Type of the property + typeof(GroupButton), // Type of the owner class + new PropertyMetadata(string.Empty) // Default value + ); + public string ProgramsCount + { + get { return (string)GetValue(ProgramsCountProperty); } + set { SetValue(ProgramsCountProperty, value); } + } + } +} diff --git a/TV Player WPF/GroupButton.xaml b/TV Player WPF/GroupButton.xaml deleted file mode 100644 index 651f58f..0000000 --- a/TV Player WPF/GroupButton.xaml +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - - - - - - - Programs - - - - - diff --git a/TV Player WPF/GroupButton.xaml.cs b/TV Player WPF/GroupButton.xaml.cs deleted file mode 100644 index d9985fb..0000000 --- a/TV Player WPF/GroupButton.xaml.cs +++ /dev/null @@ -1,17 +0,0 @@ -using System.Windows.Controls; - -namespace TV_Player -{ - /// - /// Interaction logic for GroupButton.xaml - /// - public partial class GroupButton : UserControl - { - public GroupButton(string groupName,int programsFound) - { - InitializeComponent(); - this.groupName.Text = groupName; - this.programsFound.Text = programsFound.ToString(); - } - } -} diff --git a/TV Player WPF/MainWindow.xaml b/TV Player WPF/MainWindow.xaml index fbe86c2..a1028ce 100644 --- a/TV Player WPF/MainWindow.xaml +++ b/TV Player WPF/MainWindow.xaml @@ -6,6 +6,9 @@ xmlns:local="clr-namespace:TV_Player" mc:Ignorable="d" Title="TV" Height="450" Width="800"> + + + @@ -13,6 +16,15 @@ - + + + + + + +