diff --git a/SmartAquaViewer/Helper/ImageButtonHelper.cs b/SmartAquaViewer/Helper/ImageButtonHelper.cs
new file mode 100644
index 0000000..d0c98f8
--- /dev/null
+++ b/SmartAquaViewer/Helper/ImageButtonHelper.cs
@@ -0,0 +1,30 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.Windows.Media;
+using System.Windows;
+
+namespace SmartAquaViewer.Helper
+{
+ public static class ImageButtonHelper
+ {
+ public static readonly DependencyProperty ImageSourceProperty =
+ DependencyProperty.RegisterAttached(
+ "ImageSource",
+ typeof(ImageSource),
+ typeof(ImageButtonHelper),
+ new PropertyMetadata(null));
+
+ public static void SetImageSource(UIElement element, ImageSource value)
+ {
+ element.SetValue(ImageSourceProperty, value);
+ }
+
+ public static ImageSource GetImageSource(UIElement element)
+ {
+ return (ImageSource)element.GetValue(ImageSourceProperty);
+ }
+ }
+}
diff --git a/SmartAquaViewer/Model/Enums.cs b/SmartAquaViewer/Model/Enums.cs
new file mode 100644
index 0000000..c5e42fc
--- /dev/null
+++ b/SmartAquaViewer/Model/Enums.cs
@@ -0,0 +1,18 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace SmartAquaViewer.Model
+{
+ class Enums
+ {
+ public enum PanelState
+ {
+ Hidden,
+ Normal,
+ Expanded
+ }
+ }
+}
diff --git a/SmartAquaViewer/Resources/Generic.xaml b/SmartAquaViewer/Resources/Generic.xaml
index 36049b9..964f1ac 100644
--- a/SmartAquaViewer/Resources/Generic.xaml
+++ b/SmartAquaViewer/Resources/Generic.xaml
@@ -63,4 +63,35 @@
+
+
\ No newline at end of file
diff --git a/SmartAquaViewer/Resources/Images/arrow_down.png b/SmartAquaViewer/Resources/Images/arrow_down.png
new file mode 100644
index 0000000..9e0f609
Binary files /dev/null and b/SmartAquaViewer/Resources/Images/arrow_down.png differ
diff --git a/SmartAquaViewer/Resources/Images/arrow_up.png b/SmartAquaViewer/Resources/Images/arrow_up.png
new file mode 100644
index 0000000..ba6da4b
Binary files /dev/null and b/SmartAquaViewer/Resources/Images/arrow_up.png differ
diff --git a/SmartAquaViewer/Resources/Images/top_bg.png b/SmartAquaViewer/Resources/Images/top_bg.png
new file mode 100644
index 0000000..1cfaa72
Binary files /dev/null and b/SmartAquaViewer/Resources/Images/top_bg.png differ
diff --git a/SmartAquaViewer/SmartAquaViewer.csproj b/SmartAquaViewer/SmartAquaViewer.csproj
index dac5af2..89624fe 100644
--- a/SmartAquaViewer/SmartAquaViewer.csproj
+++ b/SmartAquaViewer/SmartAquaViewer.csproj
@@ -19,9 +19,12 @@
+
+
+
@@ -39,6 +42,8 @@
+
+
PreserveNewest
@@ -46,6 +51,7 @@
PreserveNewest
+
diff --git a/SmartAquaViewer/View/MonitoringView.xaml b/SmartAquaViewer/View/MonitoringView.xaml
index 381521b..e92e827 100644
--- a/SmartAquaViewer/View/MonitoringView.xaml
+++ b/SmartAquaViewer/View/MonitoringView.xaml
@@ -4,6 +4,7 @@
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:local="clr-namespace:SmartAquaViewer.View"
+ xmlns:helper="clr-namespace:SmartAquaViewer.Helper"
mc:Ignorable="d"
d:DesignHeight="940" d:DesignWidth="1650">
@@ -11,10 +12,32 @@
-
+
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/SmartAquaViewer/View/MonitoringView.xaml.cs b/SmartAquaViewer/View/MonitoringView.xaml.cs
index d63f58e..76bee61 100644
--- a/SmartAquaViewer/View/MonitoringView.xaml.cs
+++ b/SmartAquaViewer/View/MonitoringView.xaml.cs
@@ -12,6 +12,7 @@ using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
+using static SmartAquaViewer.Model.Enums;
namespace SmartAquaViewer.View
{
@@ -20,9 +21,56 @@ namespace SmartAquaViewer.View
///
public partial class MonitoringView : UserControl
{
+ private PanelState _state = PanelState.Normal;
+
public MonitoringView()
{
InitializeComponent();
}
+
+ private void btnVisibility_Click(object sender, RoutedEventArgs e)
+ {
+ Button button = sender as Button;
+ if (button == null) return;
+
+ bool isDown = button.Tag != null && button.Tag.ToString() == "down";
+
+ _state = isDown
+ ? _state switch
+ {
+ PanelState.Hidden => PanelState.Normal,
+ //PanelState.Normal => PanelState.Expanded,
+ _ => PanelState.Hidden
+ }
+ : _state switch
+ {
+ PanelState.Hidden => PanelState.Normal,
+ //PanelState.Expanded => PanelState.Normal,
+ _ => PanelState.Hidden
+ };
+
+ ApplyState();
+ }
+
+ private void ApplyState()
+ {
+ switch (_state)
+ {
+ case PanelState.Hidden:
+ rdGraph.Height = new GridLength(0, GridUnitType.Pixel);
+ btnVisibilityDown.Visibility = Visibility.Collapsed;
+ btnVisibilityUp.Visibility = Visibility.Visible;
+ break;
+ case PanelState.Normal:
+ rdGraph.Height = new GridLength(450, GridUnitType.Pixel);
+ btnVisibilityDown.Visibility = Visibility.Visible;
+ btnVisibilityUp.Visibility = Visibility.Collapsed;
+ break;
+ //case PanelState.Expanded:
+ // this.Visibility = Visibility.Visible;
+ // this.Height = 400; // Expanded height
+ // break;
+ }
+ }
}
}