Make PropertyGrid controls immune from scrollbar wrapping (caused by #218)
This commit is contained in:
@@ -28,7 +28,7 @@
|
||||
</ListView>
|
||||
<Button Grid.Row="1" Content="Open Folder" Margin="3" DockPanel.Dock="Bottom" Click="OpenFolder_OnClick"/>
|
||||
</Grid>
|
||||
<ScrollViewer Grid.Column="1" VerticalScrollBarVisibility="Auto" Margin="3">
|
||||
<ScrollViewer Name="PScroll" Grid.Column="1" Margin="3">
|
||||
<Frame NavigationUIVisibility="Hidden" Content="{Binding SelectedPlugin.Control}"/>
|
||||
</ScrollViewer>
|
||||
</Grid>
|
||||
|
@@ -1,6 +1,7 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Collections.ObjectModel;
|
||||
using System.ComponentModel;
|
||||
using System.Diagnostics;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
@@ -19,6 +20,7 @@ using Torch.API;
|
||||
using Torch.API.Managers;
|
||||
using Torch.Managers;
|
||||
using Torch.Server.ViewModels;
|
||||
using Torch.Views;
|
||||
|
||||
namespace Torch.Server.Views
|
||||
{
|
||||
@@ -35,6 +37,17 @@ namespace Torch.Server.Views
|
||||
InitializeComponent();
|
||||
}
|
||||
|
||||
private void PluginManagerOnPropertyChanged(object sender, PropertyChangedEventArgs propertyChangedEventArgs)
|
||||
{
|
||||
if (propertyChangedEventArgs.PropertyName == nameof(PluginManagerViewModel.SelectedPlugin))
|
||||
{
|
||||
if (((PluginManagerViewModel)DataContext).SelectedPlugin.Control is PropertyGrid)
|
||||
PScroll.VerticalScrollBarVisibility = ScrollBarVisibility.Disabled;
|
||||
else
|
||||
PScroll.VerticalScrollBarVisibility = ScrollBarVisibility.Auto;
|
||||
}
|
||||
}
|
||||
|
||||
public void BindServer(ITorchServer server)
|
||||
{
|
||||
_server = server;
|
||||
@@ -48,6 +61,7 @@ namespace Torch.Server.Views
|
||||
_plugins = _server.Managers.GetManager<PluginManager>();
|
||||
var pluginManager = new PluginManagerViewModel(_plugins);
|
||||
DataContext = pluginManager;
|
||||
pluginManager.PropertyChanged += PluginManagerOnPropertyChanged;
|
||||
});
|
||||
|
||||
}
|
||||
|
Reference in New Issue
Block a user