|
51 | 51 | <!-- This next line instantiates a CollectionViewSource with the collection of Events as its collection of objects--> |
52 | 52 | <CollectionViewSource Source="{Binding Events}" x:Key="X_CVS"/> |
53 | 53 | <DataGridTextColumn x:Key="RecordIdColumn" Header="Record ID" Binding="{Binding Record.RecordId}" Visibility="{Binding DataContext.ShowsRecordId, Source={x:Reference _window}, Converter={StaticResource BooleanToVisibilityConverter}}"/> |
| 54 | + <DataTemplate x:Key="SourceFilterWatermarkTemplate"> |
| 55 | + <TextBlock Text="Select provider(s)" FontStyle="Italic" Margin="3,0,0,0"/> |
| 56 | + </DataTemplate> |
| 57 | + <DataTemplate x:Key="LevelFilterWatermarkTemplate"> |
| 58 | + <TextBlock Text="Select level(s)" FontStyle="Italic" Margin="3,0,0,0"/> |
| 59 | + </DataTemplate> |
54 | 60 | </Window.Resources> |
55 | 61 | <Window.InputBindings> |
56 | 62 | <KeyBinding Key="F5" Command="{Binding RefreshCommand}"/> |
|
76 | 82 | <MenuItem Header="_Auto Refresh" IsCheckable="True" IsChecked="{Binding IsAutoRefreshEnabled}"/> |
77 | 83 | <Separator /> |
78 | 84 | <MenuItem Header="_Settings..." Command="{Binding OpenSettingsCommand}" /> |
79 | | - </MenuItem> |
80 | | - <MenuItem Header="_About" Click="MenuItem_About_Click"/> |
| 85 | + </MenuItem> |
| 86 | + <MenuItem Header="_Help"> |
| 87 | + <MenuItem Header="View in _Microsoft Store" Command="{Binding OpenStoreCommand}"/> |
| 88 | + <MenuItem Header="Visit _GitHub repo" Command="{Binding OpenGitHubCommand}"/> |
| 89 | + <Separator /> |
| 90 | + <MenuItem Header="_About EventLook" Click="MenuItem_About_Click"/> |
| 91 | + </MenuItem> |
81 | 92 | </Menu> |
82 | 93 | <StatusBar DockPanel.Dock="Bottom" Background="WhiteSmoke"> |
83 | 94 | <StatusBarItem> |
|
172 | 183 | <TextBlock Text="Provider: " Margin="5,0,0,0" VerticalAlignment="Center"/> |
173 | 184 | <xctk:CheckComboBox Width="250" |
174 | 185 | IsSelectAllActive="True" IsAllItemsSelectedContentActive="True" |
175 | | - Delimiter=", " |
| 186 | + Delimiter=", " WatermarkTemplate="{StaticResource SourceFilterWatermarkTemplate}" |
176 | 187 | ItemsSource="{Binding SourceFilters}" DisplayMemberPath="Name" SelectedMemberPath="Selected" |
177 | 188 | Command="{Binding ApplySourceFilterCommand}"/> |
178 | 189 | <TextBlock Text="Level: " Margin="10,0,0,0" VerticalAlignment="Center"/> |
179 | 190 | <xctk:CheckComboBox Width="120" |
180 | 191 | IsSelectAllActive="True" IsAllItemsSelectedContentActive="True" |
181 | | - Delimiter=", " |
| 192 | + Delimiter=", " WatermarkTemplate="{StaticResource LevelFilterWatermarkTemplate}" |
182 | 193 | ItemsSource="{Binding LevelFilters}" SelectedMemberPath="Selected" |
183 | 194 | Command="{Binding ApplyLevelFilterCommand}"/> |
184 | 195 | <TextBlock Text="Event ID: " Margin="10,0,0,0" VerticalAlignment="Center"/> |
|
202 | 213 | <ContextMenu x:Key="dataGridContextMenu"> |
203 | 214 | <ContextMenu.Items> |
204 | 215 | <MenuItem Header="{Binding RelativeSource={RelativeSource AncestorType=ContextMenu}, Path=PlacementTarget.DataContext.Record.ProviderName}" HeaderStringFormat="Filter to "{0}"" |
205 | | - Command="{Binding DataContext.FilterToSelectedSourceCommand, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=DataGrid}}"/> |
| 216 | + Command="{Binding DataContext.FilterToSelectedSourceCommand, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=DataGrid}}" |
| 217 | + IsEnabled="{Binding DataContext.IsUpdating, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=DataGrid}, Converter={StaticResource InverseBooleanConverter}}"/> |
206 | 218 | <MenuItem Header="{Binding RelativeSource={RelativeSource AncestorType=ContextMenu}, Path=PlacementTarget.DataContext.Record.ProviderName}" HeaderStringFormat="Exclude "{0}"" |
207 | | - Command="{Binding DataContext.ExcludeSelectedSourceCommand, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=DataGrid}}"/> |
| 219 | + Command="{Binding DataContext.ExcludeSelectedSourceCommand, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=DataGrid}}" |
| 220 | + IsEnabled="{Binding DataContext.IsUpdating, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=DataGrid}, Converter={StaticResource InverseBooleanConverter}}"/> |
208 | 221 | <Separator/> |
209 | 222 | <MenuItem Header="{Binding RelativeSource={RelativeSource AncestorType=ContextMenu}, Path=PlacementTarget.DataContext.Record.Level, Converter={StaticResource EventLevelToDisplayTextConverter}}" HeaderStringFormat="Filter to {0}" |
210 | | - Command="{Binding DataContext.FilterToSelectedLevelCommand, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=DataGrid}}"/> |
| 223 | + Command="{Binding DataContext.FilterToSelectedLevelCommand, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=DataGrid}}" |
| 224 | + IsEnabled="{Binding DataContext.IsUpdating, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=DataGrid}, Converter={StaticResource InverseBooleanConverter}}"/> |
211 | 225 | <MenuItem Header="{Binding RelativeSource={RelativeSource AncestorType=ContextMenu}, Path=PlacementTarget.DataContext.Record.Level, Converter={StaticResource EventLevelToDisplayTextConverter}}" HeaderStringFormat="Exclude {0}" |
212 | | - Command="{Binding DataContext.ExcludeSelectedLevelCommand, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=DataGrid}}"/> |
| 226 | + Command="{Binding DataContext.ExcludeSelectedLevelCommand, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=DataGrid}}" |
| 227 | + IsEnabled="{Binding DataContext.IsUpdating, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=DataGrid}, Converter={StaticResource InverseBooleanConverter}}"/> |
213 | 228 | <Separator/> |
214 | 229 | <MenuItem Header="{Binding RelativeSource={RelativeSource AncestorType=ContextMenu}, Path=PlacementTarget.DataContext.Record.Id}" HeaderStringFormat="Filter to ID {0}" |
215 | 230 | Command="{Binding DataContext.FilterToSelectedIdCommand, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=DataGrid}}"/> |
|
0 commit comments