Skip to content

Commit 548ec06

Browse files
committed
start a better impl of page scrollbars in demo [skip ci]
1 parent 7318608 commit 548ec06

File tree

3 files changed

+33
-3
lines changed

3 files changed

+33
-3
lines changed

MainDemo.Wpf/Domain/DemoItem.cs

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
using System.Text;
66
using System.Threading.Tasks;
77
using System.Windows;
8+
using System.Windows.Controls;
89
using System.Windows.Markup;
910

1011
namespace MaterialDesignColors.WpfExample.Domain
@@ -13,6 +14,9 @@ public class DemoItem : INotifyPropertyChanged
1314
{
1415
private string _name;
1516
private object _content;
17+
private ScrollBarVisibility _horizontalScrollBarVisibilityRequirement;
18+
private ScrollBarVisibility _verticalScrollBarVisibilityRequirement;
19+
private Thickness _marginRequirement = new Thickness(16);
1620

1721
public DemoItem(string name, object content, IEnumerable<DocumentationLink> documentation)
1822
{
@@ -33,6 +37,24 @@ public object Content
3337
set { this.MutateVerbose(ref _content, value, RaisePropertyChanged()); }
3438
}
3539

40+
public ScrollBarVisibility HorizontalScrollBarVisibilityRequirement
41+
{
42+
get { return _horizontalScrollBarVisibilityRequirement; }
43+
set { this.MutateVerbose(ref _horizontalScrollBarVisibilityRequirement, value, RaisePropertyChanged()); }
44+
}
45+
46+
public ScrollBarVisibility VerticalScrollBarVisibilityRequirement
47+
{
48+
get { return _verticalScrollBarVisibilityRequirement; }
49+
set { this.MutateVerbose(ref _verticalScrollBarVisibilityRequirement, value, RaisePropertyChanged()); }
50+
}
51+
52+
public Thickness MarginRequirement
53+
{
54+
get { return _marginRequirement; }
55+
set { this.MutateVerbose(ref _marginRequirement, value, RaisePropertyChanged()); }
56+
}
57+
3658
public IEnumerable<DocumentationLink> Documentation { get; }
3759

3860
public event PropertyChangedEventHandler PropertyChanged;

MainDemo.Wpf/Domain/MainWindowViewModel.cs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,10 @@ public MainWindowViewModel()
7878
DocumentationLink.DemoPageLink<Cards>(),
7979
DocumentationLink.StyleLink("Card"),
8080
DocumentationLink.ApiLink<Card>()
81-
}),
81+
})
82+
{
83+
VerticalScrollBarVisibilityRequirement = ScrollBarVisibility.Auto
84+
},
8285
new DemoItem("Icon Pack", new IconPack { DataContext = new IconPackViewModel() },
8386
new []
8487
{

MainDemo.Wpf/MainWindow.xaml

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -80,8 +80,13 @@
8080
<domain1:DocumentationLinks DataContext="{Binding ElementName=DemoItemsListBox, Path=SelectedItem}"
8181
Margin="0 0 0 16"
8282
/>
83-
<ContentControl Margin="16" Content="{Binding ElementName=DemoItemsListBox, Path=SelectedItem.Content}"
84-
Grid.Row="1" />
83+
<ScrollViewer Grid.Row="1"
84+
HorizontalScrollBarVisibility="{Binding ElementName=DemoItemsListBox, Path=SelectedItem.HorizontalScrollBarVisibilityRequirement}"
85+
VerticalScrollBarVisibility="{Binding ElementName=DemoItemsListBox, Path=SelectedItem.VerticalScrollBarVisibilityRequirement}"
86+
Padding="{Binding ElementName=DemoItemsListBox, Path=SelectedItem.MarginRequirement}">
87+
<ContentControl Content="{Binding ElementName=DemoItemsListBox, Path=SelectedItem.Content}" />
88+
</ScrollViewer>
89+
8590
<materialDesign:Snackbar MessageQueue="{materialDesign:MessageQueue}" x:Name="MainSnackbar"
8691
Grid.Row="1" />
8792
</Grid>

0 commit comments

Comments
 (0)