fix: 그래프 화면 열고닫기 기능 MaterialDesign Drawer 방식 적용

hhsung_work
HyungJune Kim 10 months ago
parent 48cfad129e
commit acdfb8db7c

@ -30,6 +30,7 @@
<ItemGroup> <ItemGroup>
<PackageReference Include="MaterialDesignColors" Version="5.2.1" /> <PackageReference Include="MaterialDesignColors" Version="5.2.1" />
<PackageReference Include="MaterialDesignThemes" Version="5.2.1" /> <PackageReference Include="MaterialDesignThemes" Version="5.2.1" />
<PackageReference Include="Newtonsoft.Json" Version="13.0.3" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>

@ -5,39 +5,39 @@
xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:local="clr-namespace:SmartAquaViewer.View" xmlns:local="clr-namespace:SmartAquaViewer.View"
xmlns:helper="clr-namespace:SmartAquaViewer.Helper" xmlns:helper="clr-namespace:SmartAquaViewer.Helper"
xmlns:md="http://materialdesigninxaml.net/winfx/xaml/themes"
mc:Ignorable="d" mc:Ignorable="d"
d:DesignHeight="940" d:DesignWidth="1650"> d:DesignHeight="940" d:DesignWidth="1650">
<Border> <Border>
<Grid> <md:DrawerHost BottomDrawerBackground="#122136" IsBottomDrawerOpen="{Binding IsOpenMode}" OpenMode="Standard">
<Grid.RowDefinitions> <Grid Background="#243851">
<RowDefinition Height="70"/> <Grid.RowDefinitions>
<RowDefinition Height="*"/> <RowDefinition Height="70"/>
<RowDefinition x:Name="rdGraph" Height="450"/> <RowDefinition Height="*"/>
</Grid.RowDefinitions> </Grid.RowDefinitions>
<Grid>
<Grid.Background>
<ImageBrush ImageSource="/Resources/Images/top_bg.png" Stretch="Fill"/>
</Grid.Background>
</Grid>
<Border Grid.Row="1" Background="#243851" BorderThickness="0 0 0 3" BorderBrush="#455569">
<Grid> <Grid>
<Button Name="btnVisibilityDown" Tag="down" Click="btnVisibility_Click" <Grid.Background>
Style="{StaticResource ImageButtonStyle}" Height="33" <ImageBrush ImageSource="/Resources/Images/top_bg.png" Stretch="Fill"/>
VerticalAlignment="Bottom" HorizontalAlignment="Center" </Grid.Background>
</Grid>
<Grid Grid.Row="1" VerticalAlignment="Bottom">
<Button Name="btnVisibilityDown" Tag="down"
Style="{StaticResource ImageButtonStyle}" Height="33" Command="{Binding ChangeDrawerStatusCommand}"
VerticalAlignment="Bottom" HorizontalAlignment="Center" Visibility="{Binding BtnVisibilityDown}"
helper:ImageButtonHelper.ImageSource="/Resources/Images/arrow_down.png"/> helper:ImageButtonHelper.ImageSource="/Resources/Images/arrow_down.png"/>
<Button Name="btnVisibilityUp" Tag="up" Click="btnVisibility_Click" <Button Name="btnVisibilityUp" Tag="up"
Style="{StaticResource ImageButtonStyle}" Height="33" Style="{StaticResource ImageButtonStyle}" Height="33" Command="{Binding ChangeDrawerStatusCommand}"
VerticalAlignment="Bottom" HorizontalAlignment="Center" Visibility="Collapsed" VerticalAlignment="Bottom" HorizontalAlignment="Center" Visibility="{Binding BtnVisibilityUp}"
helper:ImageButtonHelper.ImageSource="/Resources/Images/arrow_up.png"/> helper:ImageButtonHelper.ImageSource="/Resources/Images/arrow_up.png"/>
</Grid> </Grid>
</Border>
<Grid Grid.Row="2" Background="#122136">
</Grid> </Grid>
</Grid> <md:DrawerHost.BottomDrawerContent>
<Border Height="450" BorderThickness="0 3 0 0" BorderBrush="#455569">
</Border>
</md:DrawerHost.BottomDrawerContent>
</md:DrawerHost>
</Border> </Border>
</UserControl> </UserControl>

@ -54,23 +54,23 @@ namespace SmartAquaViewer.View
private void ApplyState() private void ApplyState()
{ {
switch (_state) //switch (_state)
{ //{
case PanelState.Hidden: // case PanelState.Hidden:
rdGraph.Height = new GridLength(0, GridUnitType.Pixel); // rdGraph.Height = new GridLength(0, GridUnitType.Pixel);
btnVisibilityDown.Visibility = Visibility.Collapsed; // btnVisibilityDown.Visibility = Visibility.Collapsed;
btnVisibilityUp.Visibility = Visibility.Visible; // btnVisibilityUp.Visibility = Visibility.Visible;
break; // break;
case PanelState.Normal: // case PanelState.Normal:
rdGraph.Height = new GridLength(450, GridUnitType.Pixel); // rdGraph.Height = new GridLength(450, GridUnitType.Pixel);
btnVisibilityDown.Visibility = Visibility.Visible; // btnVisibilityDown.Visibility = Visibility.Visible;
btnVisibilityUp.Visibility = Visibility.Collapsed; // btnVisibilityUp.Visibility = Visibility.Collapsed;
break; // break;
//case PanelState.Expanded: // //case PanelState.Expanded:
// this.Visibility = Visibility.Visible; // // this.Visibility = Visibility.Visible;
// this.Height = 400; // Expanded height // // this.Height = 400; // Expanded height
// break; // // break;
} //}
} }
} }
} }

@ -5,14 +5,67 @@ using System.Linq;
using System.Runtime.CompilerServices; using System.Runtime.CompilerServices;
using System.Text; using System.Text;
using System.Threading.Tasks; using System.Threading.Tasks;
using System.Windows;
using System.Windows.Input;
using SmartAquaViewer.Controls;
namespace SmartAquaViewer.ViewModel namespace SmartAquaViewer.ViewModel
{ {
public class MonitoringViewModel : INotifyPropertyChanged public class MonitoringViewModel : INotifyPropertyChanged
{ {
private bool _isOpenMode;
public bool IsOpenMode
{
get => _isOpenMode;
set
{
if (_isOpenMode != value)
{
_isOpenMode = value;
OnPropertyChanged();
BtnVisibilityDown = _isOpenMode ? Visibility.Visible : Visibility.Collapsed;
BtnVisibilityUp = _isOpenMode ? Visibility.Collapsed : Visibility.Visible;
}
}
}
private Visibility _btnVisibilityDown;
public Visibility BtnVisibilityDown
{
get => _btnVisibilityDown;
set
{
if (_btnVisibilityDown != value)
{
_btnVisibilityDown = value;
OnPropertyChanged();
}
}
}
private Visibility _btnVisibilityUp;
public Visibility BtnVisibilityUp
{
get => _btnVisibilityUp;
set
{
if (_btnVisibilityUp != value)
{
_btnVisibilityUp = value;
OnPropertyChanged();
}
}
}
public ICommand ChangeDrawerStatusCommand { get; }
public MonitoringViewModel() public MonitoringViewModel()
{ {
// Initialization logic for MonitoringViewModel can go here IsOpenMode = true;
BtnVisibilityUp = Visibility.Collapsed;
ChangeDrawerStatusCommand = new RelayCommand(_ => IsOpenMode = !IsOpenMode);
} }
public event PropertyChangedEventHandler? PropertyChanged; public event PropertyChangedEventHandler? PropertyChanged;

Loading…
Cancel
Save