-
Notifications
You must be signed in to change notification settings - Fork 1.4k
/
DataGridCode.bind
105 lines (104 loc) · 5.88 KB
/
DataGridCode.bind
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
<Page xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:controls="using:Microsoft.Toolkit.Uwp.UI.Controls"
xmlns:converters="using:Microsoft.Toolkit.Uwp.UI.Converters"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d">
<Grid>
<Grid.Resources>
<converters:StringFormatConverter x:Key="StringFormatConverter"/>
<DataTemplate x:Key="RowDetailsTemplate">
<StackPanel>
<TextBlock Margin="20" Text="Here are the details for the selected mountain:" />
<Grid Margin="20,10" Padding="5">
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<TextBlock Text="Coordinates: " FontWeight="SemiBold" FontSize="13" />
<TextBlock Grid.Row="1" Text="Prominence (m): " FontWeight="SemiBold" FontSize="13" />
<TextBlock Grid.Row="2" Text="First Ascent (year): " FontWeight="SemiBold" FontSize="13" />
<TextBlock Grid.Row="3" Text="No. of ascents: " FontWeight="SemiBold" FontSize="13" />
<TextBlock Grid.Column="1" FontSize="13" Text="{Binding Coordinates}" HorizontalAlignment="Right" />
<TextBlock Grid.Row="1" Grid.Column="1" FontSize="13" Text="{Binding Prominence}" HorizontalAlignment="Right" />
<TextBlock Grid.Row="2" Grid.Column="1" FontSize="13" Text="{Binding First_ascent}" HorizontalAlignment="Right" />
<TextBlock Grid.Row="3" Grid.Column="1" FontSize="13" Text="{Binding Ascents}" HorizontalAlignment="Right" />
</Grid>
</StackPanel>
</DataTemplate>
</Grid.Resources>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<StackPanel Orientation="Horizontal" Margin="12">
<TextBlock Text="DataGrid Sample : Mountains" VerticalAlignment="Center" Margin="5,0" Style="{ThemeResource SubtitleTextBlockStyle}"/>
<AppBarButton Icon="Filter" Label="Filter by">
<AppBarButton.Flyout>
<MenuFlyout>
<MenuFlyoutItem x:Name="rankLow" Text="Rank < 50" />
<MenuFlyoutItem x:Name="rankHigh" Text="Rank > 50" />
<MenuFlyoutSeparator />
<MenuFlyoutItem x:Name="heightLow" Text="Height < 8000ft" />
<MenuFlyoutItem x:Name="heightHigh" Text="Height > 8000ft" />
<MenuFlyoutSeparator />
<MenuFlyoutItem x:Name="clearFilter" Text="Remove Filter" />
</MenuFlyout>
</AppBarButton.Flyout>
</AppBarButton>
<AppBarButton x:Name="groupButton" Icon="List" Label="Group by" />
</StackPanel>
<controls:DataGrid
Grid.Row="1"
x:Name="dataGrid"
Margin="12"
VerticalAlignment="Stretch" HorizontalAlignment="Stretch"
HorizontalScrollBarVisibility="Visible"
VerticalScrollBarVisibility="Visible"
AlternatingRowBackground="@[AlternatingRowBackground:Brush:Transparent]"
AlternatingRowForeground="@[AlternatingRowForeground:Brush:Gray]"
AreRowDetailsFrozen="@[AreRowDetailsFrozen:Bool:False]"
AreRowGroupHeadersFrozen="@[AreRowGroupHeadersFrozen:Bool:True]"
AutoGenerateColumns="False"
CanUserSortColumns="@[CanUserSortColumns:Bool:False]"
CanUserReorderColumns="@[CanUserReorderColumns:Bool:True]"
CanUserResizeColumns="@[CanUserResizeColumns:Bool:True]"
ColumnHeaderHeight="@[ColumnHeaderHeight:String:32]"
MaxColumnWidth="@[MaxColumnWidth:String:400]"
FrozenColumnCount="@[FrozenColumnCount:Slider:0:0-8]"
GridLinesVisibility="@[GridLinesVisibility:Enum:DataGridGridLinesVisibility.None]"
HeadersVisibility="@[HeadersVisibility:Enum:DataGridHeadersVisibility.Column]"
IsReadOnly="@[IsReadOnly:Bool:False]"
RowDetailsTemplate="{StaticResource RowDetailsTemplate}"
RowDetailsVisibilityMode="@[RowDetailsVisibilityMode:Enum:DataGridRowDetailsVisibilityMode.Collapsed]"
SelectionMode="@[SelectionMode:Enum:DataGridSelectionMode.Extended]"
RowGroupHeaderPropertyNameAlternative="Range">
<controls:DataGrid.Columns>
<controls:DataGridTextColumn Header="Rank" Binding="{Binding Rank}" Tag="Rank" />
<controls:DataGridComboBoxColumn Header="Mountain" Binding="{Binding Mountain}" Tag="Mountain" />
<controls:DataGridTextColumn Header="Height (m)" Binding="{Binding Height_m}" Tag="Height_m" />
<controls:DataGridTextColumn Header="Range" Binding="{Binding Range}" Tag="Range" />
<controls:DataGridTextColumn Header="Parent Mountain" Binding="{Binding Parent_mountain}" Tag="Parent_mountain" />
<controls:DataGridTemplateColumn Header="First Ascent" Tag="First_ascent">
<controls:DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding First_ascent, Converter={StaticResource StringFormatConverter}, ConverterParameter='{}{0:MM/dd/yyy}'}" VerticalAlignment="Center" Margin="8,0,0,0"/>
</DataTemplate>
</controls:DataGridTemplateColumn.CellTemplate>
<controls:DataGridTemplateColumn.CellEditingTemplate>
<DataTemplate>
<CalendarDatePicker Margin="3,4,3,3" Date="{Binding First_ascent, Mode=TwoWay}"/>
</DataTemplate>
</controls:DataGridTemplateColumn.CellEditingTemplate>
</controls:DataGridTemplateColumn>
</controls:DataGrid.Columns>
</controls:DataGrid>
</Grid>
</Page>