diff --git a/TV Player WPF/MainWindow.xaml b/TV Player WPF/MainWindow.xaml
index a1028ce..270bdd6 100644
--- a/TV Player WPF/MainWindow.xaml
+++ b/TV Player WPF/MainWindow.xaml
@@ -21,10 +21,16 @@
-
+
+
+
+
+
+
-
-
+
+
+
diff --git a/TV Player WPF/ProgramsList.xaml b/TV Player WPF/ProgramsList.xaml
index 47e87e3..ccadaaa 100644
--- a/TV Player WPF/ProgramsList.xaml
+++ b/TV Player WPF/ProgramsList.xaml
@@ -7,15 +7,20 @@
d:DesignHeight="450" d:DesignWidth="800">
-
+
+
+
+
+
-
-
+
+
diff --git a/TV Player WPF/VideoPlayer.xaml b/TV Player WPF/VideoPlayer.xaml
index 38d5021..5b86216 100644
--- a/TV Player WPF/VideoPlayer.xaml
+++ b/TV Player WPF/VideoPlayer.xaml
@@ -12,15 +12,13 @@
-
+
-
-
-
+
-
+
diff --git a/TV Player WPF/ViewModels/MainViewModel.cs b/TV Player WPF/ViewModels/MainViewModel.cs
index a0b0b77..e364503 100644
--- a/TV Player WPF/ViewModels/MainViewModel.cs
+++ b/TV Player WPF/ViewModels/MainViewModel.cs
@@ -19,17 +19,18 @@ namespace TV_Player
set => SetProperty(ref _isTopPanelVisible, value);
}
+ private string _topPaneTitle;
+ public string TopPanelTitle
+ {
+ get => _topPaneTitle;
+ set => SetProperty(ref _topPaneTitle, value);
+ }
+
public Action ButtonBackAction { get; set; }
public ICommand BackCommand { get; }
public MainViewModel()
- {
- var vm = new ProgramsGroupViewModel();
-
- var control = new ProgramsGroupGrid();
- control.DataContext = vm;
- Control = control;
-
+ {
BackCommand = new RelayCommand(OnButtonBackClick);
}
private void OnButtonBackClick()
diff --git a/TV Player WPF/ViewModels/PlayerViewModel.cs b/TV Player WPF/ViewModels/PlayerViewModel.cs
index eae2a63..ecac1eb 100644
--- a/TV Player WPF/ViewModels/PlayerViewModel.cs
+++ b/TV Player WPF/ViewModels/PlayerViewModel.cs
@@ -16,6 +16,13 @@ namespace TV_Player
set => SetProperty(ref _currentProgram, value);
}
+ private string _topPaneTitle;
+ public string TopPanelTitle
+ {
+ get => _topPaneTitle;
+ set => SetProperty(ref _topPaneTitle, value);
+ }
+
public M3UInfo SelectedItem { get; set; }
public ICommand BackCommand { get; }
@@ -23,7 +30,8 @@ namespace TV_Player
{
_currentProgram = selectedProgram;
BackCommand = new RelayCommand(OnButtonBackClick);
- TVPlayerViewModel.Instance.TopPanelVisible(false);
+ TVPlayerViewModel.Instance.TopPanelVisible(false, selectedProgram.Name);
+ TopPanelTitle = selectedProgram.Name;
}
private void OnButtonBackClick()
diff --git a/TV Player WPF/ViewModels/ProgramsGroupViewModel.cs b/TV Player WPF/ViewModels/ProgramsGroupViewModel.cs
index ea8dccf..30af10a 100644
--- a/TV Player WPF/ViewModels/ProgramsGroupViewModel.cs
+++ b/TV Player WPF/ViewModels/ProgramsGroupViewModel.cs
@@ -21,7 +21,7 @@ namespace TV_Player
ItemSelectedCommand = new RelayCommand(OnItemSelected);
ProgramsData.Instance.GroupsInformation.Subscribe(x=>Programs = x);
- //TVPlayerViewModel.Instance.TopPanelVisible(true);
+ TVPlayerViewModel.Instance.TopPanelVisible(true, "Groups");
}
private void OnItemSelected()
diff --git a/TV Player WPF/ViewModels/ProgramsListViewModel.cs b/TV Player WPF/ViewModels/ProgramsListViewModel.cs
index d8c44f0..2ef7314 100644
--- a/TV Player WPF/ViewModels/ProgramsListViewModel.cs
+++ b/TV Player WPF/ViewModels/ProgramsListViewModel.cs
@@ -18,7 +18,7 @@ namespace TV_Player
public ProgramsListViewModel(GroupInfo groupInfo)
{
- TVPlayerViewModel.Instance.TopPanelVisible(true);
+ TVPlayerViewModel.Instance.TopPanelVisible(true, groupInfo.Name);
ItemSelectedCommand = new RelayCommand(OnItemSelected);
ProgramsData.Instance.AllPrograms.Subscribe(x => Programs = x.Where(p => p.GroupTitle == groupInfo.Name).ToList());
diff --git a/TV Player WPF/ViewModels/TVPlayerViewModel.cs b/TV Player WPF/ViewModels/TVPlayerViewModel.cs
index 6c60158..26e2c05 100644
--- a/TV Player WPF/ViewModels/TVPlayerViewModel.cs
+++ b/TV Player WPF/ViewModels/TVPlayerViewModel.cs
@@ -1,21 +1,19 @@
-using CommunityToolkit.Mvvm.Input;
-using System.Windows.Controls;
-using System.Windows.Input;
+using System.Windows.Controls;
namespace TV_Player.ViewModels
{
public class TVPlayerViewModel
{
private readonly MainViewModel _mainViewModel;
-
- public Action ButtonBackAction { get; set; }
- private static TVPlayerViewModel _instance;
+ public Action ButtonBackAction { get; set; }
+
+ private static TVPlayerViewModel? _instance;
public static TVPlayerViewModel Instance
{
get
{
- if(_instance==null)
+ if (_instance == null)
_instance = new TVPlayerViewModel();
return _instance;
}
@@ -24,16 +22,29 @@ namespace TV_Player.ViewModels
public TVPlayerViewModel()
{
_mainViewModel = new MainViewModel();
- var mainWindow=new MainWindow();
+ var mainWindow = new MainWindow();
mainWindow.DataContext = _mainViewModel;
-
+
mainWindow.Show();
_instance = this;
-
+
+ ShowInitialScreen();
}
- public void TopPanelVisible(bool value)
+
+ private void ShowInitialScreen()
+ {
+ var vm = new ProgramsGroupViewModel();
+
+ var control = new ProgramsGroupGrid();
+ control.DataContext = vm;
+
+ SetPageContext(control, vm);
+ }
+
+ public void TopPanelVisible(bool value, string title)
{
_mainViewModel.IsTopPanelVisible = value;
+ _mainViewModel.TopPanelTitle = title;
}
public void SetBackButtonAction(Action action)