Skip to content

Commit ef9c19d

Browse files
committed
trying to figure out a neat way to manage standard and GridView ListViews
1 parent 8d698a7 commit ef9c19d

File tree

5 files changed

+59
-31
lines changed

5 files changed

+59
-31
lines changed

MainDemo.Wpf/ListViews.xaml

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,21 @@
33
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
44
xmlns:local="clr-namespace:MaterialDesignDemo">
55
<Grid Margin="8">
6-
<ListView Grid.Row="0" ItemsSource="{Binding Items1}">
6+
<Grid.RowDefinitions>
7+
<RowDefinition />
8+
<RowDefinition />
9+
<RowDefinition />
10+
<RowDefinition />
11+
</Grid.RowDefinitions>
12+
<ListView Grid.Row="1">
13+
<ListViewItem>
14+
Hello
15+
</ListViewItem>
16+
<ListViewItem>
17+
World
18+
</ListViewItem>
19+
</ListView>
20+
<ListView Grid.Row="3" ItemsSource="{Binding Items1}">
721
<ListView.View>
822
<GridView>
923
<GridViewColumn DisplayMemberBinding="{Binding Code}" Header="Code" />
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
using System;
2+
using System.Collections.Generic;
3+
using System.Linq;
4+
using System.Text;
5+
using System.Threading.Tasks;
6+
using System.Windows.Data;
7+
8+
namespace MaterialDesignThemes.Wpf.Converters
9+
{
10+
public class GridViewItemContainerStyleConverter : IValueConverter
11+
{
12+
}
13+
}

MaterialDesignThemes.Wpf/ListViewAssist.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
using System.Windows;
2+
using System.Windows.Controls;
23

34
namespace MaterialDesignThemes.Wpf
45
{

MaterialDesignThemes.Wpf/Themes/MaterialDesignTheme.Defaults.xaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,7 @@
7676
<Style TargetType="{x:Type TreeView}" BasedOn="{StaticResource MaterialDesignTreeView}" />
7777
<Style TargetType="{x:Type TreeViewItem}" BasedOn="{StaticResource MaterialDesignTreeViewItem}" />
7878
<Style TargetType="{x:Type ListView}" BasedOn="{StaticResource MaterialDesignListView}" />
79-
<Style TargetType="{x:Type ListViewItem}" BasedOn="{StaticResource MaterialDesignListViewItem}" />
79+
<Style TargetType="{x:Type ListViewItem}" BasedOn="{StaticResource MaterialDesignListBoxItem}" />
8080
<Style TargetType="{x:Type Menu}" BasedOn="{StaticResource MaterialDesignMenu}" />
8181
<Style TargetType="{x:Type MenuItem}" BasedOn="{StaticResource MaterialDesignMenuItem}" />
8282
<Style x:Key="{x:Static MenuItem.SeparatorStyleKey}" TargetType="{x:Type Separator}" BasedOn="{StaticResource MaterialDesignSeparator}" />

MaterialDesignThemes.Wpf/Themes/MaterialDesignTheme.ListView.xaml

Lines changed: 29 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -129,38 +129,38 @@
129129
</Style.Triggers>
130130
</Style>
131131

132-
<Style x:Key="MaterialDesignListView" TargetType="{x:Type ListView}">
133-
<Setter Property="Background" Value="{DynamicResource MaterialDesignPaper}" />
134-
<Setter Property="Foreground" Value="{DynamicResource MaterialDesignBody}" />
135-
<Setter Property="BorderBrush" Value="{DynamicResource MaterialDesignTextBoxBorder}" />
136-
<Setter Property="BorderThickness" Value="0" />
137-
<Setter Property="FontSize" Value="13" />
138-
<Setter Property="ScrollViewer.CanContentScroll" Value="True" />
139-
<Setter Property="ScrollViewer.PanningMode" Value="Both" />
140-
<Setter Property="Stylus.IsFlicksEnabled" Value="False" />
141-
<Setter Property="SnapsToDevicePixels" Value="True" />
142-
<Setter Property="OverridesDefaultStyle" Value="True" />
143-
<Setter Property="ScrollViewer.HorizontalScrollBarVisibility" Value="Auto" />
144-
<Setter Property="ScrollViewer.VerticalScrollBarVisibility" Value="Auto" />
145-
<Setter Property="ScrollViewer.CanContentScroll" Value="True" />
146-
<Setter Property="VerticalContentAlignment" Value="Center" />
147-
<Setter Property="Template">
148-
<Setter.Value>
149-
<ControlTemplate TargetType="{x:Type ListView}">
150-
<ScrollViewer Style="{DynamicResource {x:Static GridView.GridViewScrollViewerStyleKey}}">
151-
<ItemsPresenter />
152-
</ScrollViewer>
153-
<ControlTemplate.Triggers>
154-
<Trigger Property="IsGrouping" Value="True">
155-
<Setter Property="ScrollViewer.CanContentScroll" Value="false" />
156-
</Trigger>
157-
</ControlTemplate.Triggers>
158-
</ControlTemplate>
159-
</Setter.Value>
132+
<Style x:Key="MaterialDesignListView" TargetType="{x:Type ListView}">
133+
<Setter Property="Background" Value="{DynamicResource MaterialDesignPaper}" />
134+
<Setter Property="Foreground" Value="{DynamicResource MaterialDesignBody}" />
135+
<Setter Property="BorderBrush" Value="{DynamicResource MaterialDesignTextBoxBorder}" />
136+
<Setter Property="BorderThickness" Value="0" />
137+
<Setter Property="FontSize" Value="13" />
138+
<Setter Property="ScrollViewer.CanContentScroll" Value="True" />
139+
<Setter Property="ScrollViewer.PanningMode" Value="Both" />
140+
<Setter Property="Stylus.IsFlicksEnabled" Value="False" />
141+
<Setter Property="SnapsToDevicePixels" Value="True" />
142+
<Setter Property="OverridesDefaultStyle" Value="False" />
143+
<Setter Property="ScrollViewer.HorizontalScrollBarVisibility" Value="Auto" />
144+
<Setter Property="ScrollViewer.VerticalScrollBarVisibility" Value="Auto" />
145+
<Setter Property="ScrollViewer.CanContentScroll" Value="True" />
146+
<Setter Property="VerticalContentAlignment" Value="Center" />
147+
<Setter Property="Template">
148+
<Setter.Value>
149+
<ControlTemplate TargetType="{x:Type ListView}">
150+
<ScrollViewer Style="{DynamicResource {x:Static GridView.GridViewScrollViewerStyleKey}}">
151+
<ItemsPresenter />
152+
</ScrollViewer>
153+
<ControlTemplate.Triggers>
154+
<Trigger Property="IsGrouping" Value="True">
155+
<Setter Property="ScrollViewer.CanContentScroll" Value="false" />
156+
</Trigger>
157+
</ControlTemplate.Triggers>
158+
</ControlTemplate>
159+
</Setter.Value>
160160
</Setter>
161161
</Style>
162162

163-
<Style x:Key="MaterialDesignListViewItem" TargetType="ListViewItem">
163+
<Style x:Key="MaterialDesignGridViewItem" TargetType="ListViewItem">
164164
<Setter Property="SnapsToDevicePixels" Value="True" />
165165
<Setter Property="OverridesDefaultStyle" Value="True" />
166166
<Setter Property="Background" Value="Transparent" />

0 commit comments

Comments
 (0)