471 lines
30 KiB
XML
471 lines
30 KiB
XML
<DockPanel
|
|
x:Class="JD.Guinness.WPF.Module.View.StadiaView"
|
|
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
|
xmlns:editors="http://schemas.actiprosoftware.com/winfx/xaml/editors"
|
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
|
xmlns:dataGrid="clr-namespace:ActiproSoftware.Windows.Controls.DataGrid;assembly=DataGrid.Contrib"
|
|
xmlns:google="clr-namespace:JD.GoogleAchievement.Service;assembly=JD.GoogleAchievement.Service"
|
|
xmlns:behavior="clr-namespace:JD.Guinness.WPF.Module.Behavior"
|
|
xmlns:control="clr-namespace:JD.Guinness.WPF.Module.Control"
|
|
Name="This"
|
|
Margin="5">
|
|
<DockPanel.Resources>
|
|
<ResourceDictionary>
|
|
<ResourceDictionary.MergedDictionaries>
|
|
<ResourceDictionary Source="../Resource/Icons.xaml"/>
|
|
<ResourceDictionary Source="../Resource/Converters.xaml"/>
|
|
</ResourceDictionary.MergedDictionaries>
|
|
|
|
<control:DataGridHeaderTemplateSelector x:Key="DataGridHeaderTemplateSelector" />
|
|
</ResourceDictionary>
|
|
</DockPanel.Resources>
|
|
<DockPanel DockPanel.Dock="Bottom" Margin="0,5,0,0" IsEnabled="{Binding Game.IsAvailable}">
|
|
<Button Margin="5,0,0,0" DockPanel.Dock="Right" VerticalAlignment="Bottom" Command="{Binding GenerateCommand}" Height="40" Padding="5">
|
|
<StackPanel Orientation="Horizontal">
|
|
<TextBlock Text="Generate " VerticalAlignment="Center"/>
|
|
<ContentPresenter ContentTemplate="{StaticResource GenerateIcon}"/>
|
|
</StackPanel>
|
|
</Button>
|
|
<Grid>
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="Auto"/>
|
|
<ColumnDefinition Width="*"/>
|
|
<ColumnDefinition Width="Auto"/>
|
|
<ColumnDefinition Width="Auto"/>
|
|
</Grid.ColumnDefinitions>
|
|
<Grid.RowDefinitions>
|
|
<RowDefinition/>
|
|
<RowDefinition Height="5"/>
|
|
<RowDefinition/>
|
|
<RowDefinition Height="5"/>
|
|
<RowDefinition/>
|
|
</Grid.RowDefinitions>
|
|
<TextBlock Text="Store front file" Margin="0,0,5,0" VerticalAlignment="Center"/>
|
|
<TextBlock Text="Excel file" Margin="0,0,5,0" Grid.Row="2" VerticalAlignment="Center"/>
|
|
<TextBlock Text="Icons folder" Margin="0,0,5,0" Grid.Row="4" VerticalAlignment="Center"/>
|
|
<TextBox Text="{Binding Configuration.StoreFrontFilePath}" Grid.Column="1"/>
|
|
<TextBox Text="{Binding Configuration.ExcelFilePath}" Grid.Column="1" Grid.Row="2"/>
|
|
<TextBox Text="{Binding Configuration.IconsFolderPath}" Grid.Column="1" Grid.Row="4"/>
|
|
<Button Content="..." Command="{Binding SelectStoreFrontFileCommand}" Grid.Column="2"/>
|
|
<Button Content="..." Command="{Binding SelectExcelFileCommand}" Grid.Column="2" Grid.Row="2"/>
|
|
<Button Content="..." Command="{Binding SelectIconsFolderCommand}" Grid.Column="2" Grid.Row="4"/>
|
|
<CheckBox Content="Sync to store front" IsChecked="{Binding Configuration.SyncToStoreFront}" Margin="5,0,0,0" VerticalAlignment="Center" Grid.Column="3"/>
|
|
<CheckBox Content="Generate excel" IsChecked="{Binding Configuration.GenerateExcel}" Margin="5,0,0,0" VerticalAlignment="Center" Grid.Column="3" Grid.Row="2" Grid.RowSpan="3"/>
|
|
</Grid>
|
|
</DockPanel>
|
|
<Expander DockPanel.Dock="Bottom" Margin="0,5,0,0">
|
|
<Expander.Header>
|
|
<StackPanel Orientation="Horizontal">
|
|
<TextBlock Text="Languages" FontSize="15" VerticalAlignment="Center"/>
|
|
<Button ToolTip="Set languages from store front file" Margin="5,0,0,0" Width="30" Height="30" Padding="0" Command="{Binding SetLanguagesFromStoreFrontFileCommand}">
|
|
<ContentPresenter ContentTemplate="{StaticResource StoreIcon}"/>
|
|
</Button>
|
|
</StackPanel>
|
|
</Expander.Header>
|
|
<dataGrid:ThemedDataGrid
|
|
ItemsSource="{Binding Configuration.Languages}"
|
|
AutoGenerateColumns="False"
|
|
IsReadOnly="{Binding Game.IsAvailable, Converter={StaticResource InverseBooleanConverter}}"
|
|
SelectionMode="Single"
|
|
GridLinesVisibility="None"
|
|
HeadersVisibility="Column"
|
|
CanUserAddRows="False"
|
|
CanUserDeleteRows="False"
|
|
CanUserResizeRows="False"
|
|
CanUserSortColumns="True"
|
|
ColumnWidth="Auto">
|
|
<dataGrid:ThemedDataGrid.ContextMenu>
|
|
<ContextMenu>
|
|
<MenuItem
|
|
Header="Shown columns"
|
|
ItemsSource="{Binding PlacementTarget.Columns, RelativeSource={RelativeSource AncestorType=ContextMenu}}"
|
|
ItemTemplateSelector="{StaticResource DataGridHeaderTemplateSelector}">
|
|
<MenuItem.Icon>
|
|
<ContentPresenter ContentTemplate="{StaticResource ColumnsIcon}"/>
|
|
</MenuItem.Icon>
|
|
</MenuItem>
|
|
<Separator/>
|
|
<MenuItem
|
|
Header="Duplicate language"
|
|
Command="{Binding Game.DuplicateLanguageCommand}"
|
|
CommandParameter="{Binding PlacementTarget.SelectedItem.Value, RelativeSource={RelativeSource AncestorType=ContextMenu}}">
|
|
<MenuItem.Icon>
|
|
<ContentPresenter ContentTemplate="{StaticResource DuplicateIcon}"/>
|
|
</MenuItem.Icon>
|
|
</MenuItem>
|
|
<MenuItem
|
|
Header="Remove duplicate language"
|
|
Command="{Binding Game.RemoveLanguageCommand}"
|
|
CommandParameter="{Binding PlacementTarget.SelectedItem.Value, RelativeSource={RelativeSource AncestorType=ContextMenu}}">
|
|
<MenuItem.Icon>
|
|
<ContentPresenter ContentTemplate="{StaticResource RemoveIcon}"/>
|
|
</MenuItem.Icon>
|
|
</MenuItem>
|
|
</ContextMenu>
|
|
</dataGrid:ThemedDataGrid.ContextMenu>
|
|
<dataGrid:ThemedDataGrid.Columns>
|
|
<DataGridCheckBoxColumn Header="Include" Binding="{Binding IsSelected, UpdateSourceTrigger=PropertyChanged}"/>
|
|
<DataGridTemplateColumn Header="Oasis name" IsReadOnly="True" SortMemberPath="Value.Language.Name">
|
|
<DataGridTemplateColumn.CellTemplate>
|
|
<DataTemplate>
|
|
<StackPanel Orientation="Horizontal">
|
|
<TextBlock Text="{Binding Value.Language.Name}"/>
|
|
<TextBlock Text="*">
|
|
<TextBlock.Style>
|
|
<Style TargetType="TextBlock">
|
|
<Setter Property="Visibility" Value="Collapsed"/>
|
|
<Style.Triggers>
|
|
<DataTrigger Binding="{Binding Value.IsDuplicate}" Value="True">
|
|
<Setter Property="Visibility" Value="Visible"/>
|
|
</DataTrigger>
|
|
</Style.Triggers>
|
|
</Style>
|
|
</TextBlock.Style>
|
|
</TextBlock>
|
|
</StackPanel>
|
|
</DataTemplate>
|
|
</DataGridTemplateColumn.CellTemplate>
|
|
</DataGridTemplateColumn>
|
|
<DataGridTextColumn Header="Oasis id" Binding="{Binding Value.Language.Id}" IsReadOnly="True" Visibility="Collapsed"/>
|
|
<DataGridTextColumn Header="Google id" Binding="{Binding Value.GoogleId, UpdateSourceTrigger=PropertyChanged}"/>
|
|
</dataGrid:ThemedDataGrid.Columns>
|
|
</dataGrid:ThemedDataGrid>
|
|
</Expander>
|
|
<Grid DockPanel.Dock="Top" Margin="0,0,0,5">
|
|
<StackPanel Orientation="Horizontal" HorizontalAlignment="Left">
|
|
<StackPanel.Resources>
|
|
<Style TargetType="Button" BasedOn="{StaticResource {x:Type Button}}">
|
|
<Setter Property="Width" Value="30"/>
|
|
<Setter Property="Height" Value="30"/>
|
|
<Setter Property="Padding" Value="0"/>
|
|
</Style>
|
|
</StackPanel.Resources>
|
|
<Button ToolTip="Add Stadia achievement" Command="{Binding AddPlatformChallengeCommand}">
|
|
<ContentPresenter ContentTemplate="{StaticResource AddIcon}"/>
|
|
</Button>
|
|
<Button ToolTip="Remove Stadia achievement" Command="{Binding RemovePlatformChallengeCommand}" CommandParameter="{Binding SelectedItems, ElementName=DataGrid}" Margin="5,0,0,0">
|
|
<ContentPresenter ContentTemplate="{StaticResource RemoveIcon}"/>
|
|
</Button>
|
|
<Button ToolTip="Duplicate Stadia achievement" Command="{Binding DuplicatePlatformChallengeCommand}" CommandParameter="{Binding SelectedItems, ElementName=DataGrid}" Margin="5,0,0,0">
|
|
<ContentPresenter ContentTemplate="{StaticResource DuplicateIcon}"/>
|
|
</Button>
|
|
<Button ToolTip="Set locked images from id" Command="{Binding SetLockedImageFromIdCommand}" Margin="10,0,0,0">
|
|
<ContentPresenter ContentTemplate="{StaticResource LockedImageFolderIcon}"/>
|
|
</Button>
|
|
<Button ToolTip="Set unlocked images from id" Command="{Binding SetUnlockedImageFromIdCommand}" Margin="5,0,0,0">
|
|
<ContentPresenter ContentTemplate="{StaticResource UnlockedImageFolderIcon}"/>
|
|
</Button>
|
|
</StackPanel>
|
|
<StackPanel Orientation="Horizontal" HorizontalAlignment="Right">
|
|
<ContentControl ToolTip="{Binding Configuration.Warnings}" Margin="0,0,5,0">
|
|
<ContentControl.Style>
|
|
<Style TargetType="ContentControl">
|
|
<Setter Property="Visibility" Value="Visible"/>
|
|
<Style.Triggers>
|
|
<DataTrigger Binding="{Binding Configuration.Warnings}" Value="{x:Null}">
|
|
<Setter Property="Visibility" Value="Collapsed"/>
|
|
</DataTrigger>
|
|
</Style.Triggers>
|
|
</Style>
|
|
</ContentControl.Style>
|
|
<ContentPresenter Height="24" ContentTemplate="{StaticResource WarningIcon}"/>
|
|
</ContentControl>
|
|
<TextBlock Text="{Binding PlatformChallenges.Count, StringFormat={}{0} achievements}" VerticalAlignment="Center" FontSize="15"/>
|
|
</StackPanel>
|
|
</Grid>
|
|
<dataGrid:ThemedDataGrid
|
|
Name="DataGrid"
|
|
ItemsSource="{Binding PlatformChallenges}"
|
|
behavior:DataGridBehavior.ShowCustomColumns="True"
|
|
AutoGenerateColumns="False"
|
|
IsReadOnly="{Binding Game.IsAvailable, Converter={StaticResource InverseBooleanConverter}}"
|
|
SelectionMode="Extended"
|
|
GridLinesVisibility="None"
|
|
HeadersVisibility="Column"
|
|
CanUserAddRows="False"
|
|
CanUserDeleteRows="False"
|
|
CanUserResizeRows="False"
|
|
CanUserSortColumns="True"
|
|
CanUserReorderColumns="True"
|
|
ColumnWidth="Auto">
|
|
<dataGrid:ThemedDataGrid.Resources>
|
|
<Style TargetType="editors:AutoCompleteBox" BasedOn="{StaticResource {x:Type editors:AutoCompleteBox}}">
|
|
<Setter Property="ItemsSource" Value="{Binding DataContext.Game.OasisLines, ElementName=This}"/>
|
|
<Setter Property="PlaceholderText" Value="Select an oasis line"/>
|
|
<Setter Property="DataFilter">
|
|
<Setter.Value>
|
|
<editors:AutoCompleteBoxStringFilter />
|
|
</Setter.Value>
|
|
</Setter>
|
|
<Setter Property="behavior:AutoCompleteBoxBehavior.ShowAllOnOpen" Value="True" />
|
|
</Style>
|
|
</dataGrid:ThemedDataGrid.Resources>
|
|
<dataGrid:ThemedDataGrid.InputBindings>
|
|
<KeyBinding Key="Insert" Command="{Binding AddPlatformChallengeCommand}"/>
|
|
<KeyBinding Key="Delete" Command="{Binding RemovePlatformChallengeCommand}" CommandParameter="{Binding SelectedItems, ElementName=DataGrid}"/>
|
|
<KeyBinding Key="F1" Command="{Binding Game.ItemFocuser.GoToItemCommand}" CommandParameter="{Binding SelectedItem.Challenge, ElementName=DataGrid}"/>
|
|
</dataGrid:ThemedDataGrid.InputBindings>
|
|
<dataGrid:ThemedDataGrid.ContextMenu>
|
|
<ContextMenu>
|
|
<MenuItem
|
|
Header="Add new column"
|
|
Command="{Binding Source={x:Static behavior:DataGridBehavior.AddColumnCommand}}"
|
|
CommandParameter="{Binding PlacementTarget, RelativeSource={RelativeSource AncestorType=ContextMenu}}">
|
|
<MenuItem.Icon>
|
|
<ContentPresenter ContentTemplate="{StaticResource AddColumnIcon}"/>
|
|
</MenuItem.Icon>
|
|
</MenuItem>
|
|
<MenuItem
|
|
Header="Shown columns"
|
|
ItemsSource="{Binding PlacementTarget.Columns, RelativeSource={RelativeSource AncestorType=ContextMenu}}"
|
|
ItemTemplateSelector="{StaticResource DataGridHeaderTemplateSelector}">
|
|
<MenuItem.Icon>
|
|
<ContentPresenter ContentTemplate="{StaticResource ColumnsIcon}"/>
|
|
</MenuItem.Icon>
|
|
</MenuItem>
|
|
<Separator/>
|
|
<MenuItem
|
|
Header="Go to challenge"
|
|
InputGestureText="F1"
|
|
Command="{Binding Game.ItemFocuser.GoToItemCommand}"
|
|
CommandParameter="{Binding PlacementTarget.SelectedItem.Challenge, RelativeSource={RelativeSource AncestorType=ContextMenu}}"/>
|
|
<Separator/>
|
|
<MenuItem
|
|
Header="Add Stadia achievement"
|
|
Command="{Binding AddPlatformChallengeCommand}"
|
|
InputGestureText="Insert">
|
|
<MenuItem.Icon>
|
|
<ContentPresenter ContentTemplate="{StaticResource AddIcon}"/>
|
|
</MenuItem.Icon>
|
|
</MenuItem>
|
|
<MenuItem
|
|
Header="Remove Stadia achievement"
|
|
Command="{Binding RemovePlatformChallengeCommand}"
|
|
CommandParameter="{Binding PlacementTarget.SelectedItems, RelativeSource={RelativeSource AncestorType=ContextMenu}}"
|
|
InputGestureText="Delete">
|
|
<MenuItem.Icon>
|
|
<ContentPresenter ContentTemplate="{StaticResource RemoveIcon}"/>
|
|
</MenuItem.Icon>
|
|
</MenuItem>
|
|
<MenuItem
|
|
Header="Duplicate Stadia achievement"
|
|
Command="{Binding DuplicatePlatformChallengeCommand}"
|
|
CommandParameter="{Binding PlacementTarget.SelectedItems, RelativeSource={RelativeSource AncestorType=ContextMenu}}">
|
|
<MenuItem.Icon>
|
|
<ContentPresenter ContentTemplate="{StaticResource DuplicateIcon}"/>
|
|
</MenuItem.Icon>
|
|
</MenuItem>
|
|
<Separator/>
|
|
<MenuItem Header="Set locked images from id" Command="{Binding SetLockedImageFromIdCommand}">
|
|
<MenuItem.Icon>
|
|
<ContentPresenter ContentTemplate="{StaticResource LockedImageFolderIcon}"/>
|
|
</MenuItem.Icon>
|
|
</MenuItem>
|
|
<MenuItem Header="Set unlocked images from id" Command="{Binding SetUnlockedImageFromIdCommand}">
|
|
<MenuItem.Icon>
|
|
<ContentPresenter ContentTemplate="{StaticResource UnlockedImageFolderIcon}"/>
|
|
</MenuItem.Icon>
|
|
</MenuItem>
|
|
</ContextMenu>
|
|
</dataGrid:ThemedDataGrid.ContextMenu>
|
|
<dataGrid:ThemedDataGrid.Columns>
|
|
<DataGridTemplateColumn Header="Warnings" IsReadOnly="True" SortMemberPath="Warnings">
|
|
<DataGridTemplateColumn.CellTemplate>
|
|
<DataTemplate>
|
|
<ContentControl ToolTip="{Binding Warnings}" Margin="0,0,5,0">
|
|
<ContentControl.Style>
|
|
<Style TargetType="ContentControl">
|
|
<Setter Property="Visibility" Value="Visible"/>
|
|
<Style.Triggers>
|
|
<DataTrigger Binding="{Binding Warnings}" Value="{x:Null}">
|
|
<Setter Property="Visibility" Value="Collapsed"/>
|
|
</DataTrigger>
|
|
</Style.Triggers>
|
|
</Style>
|
|
</ContentControl.Style>
|
|
<ContentPresenter Height="24" ContentTemplate="{StaticResource WarningIcon}"/>
|
|
</ContentControl>
|
|
</DataTemplate>
|
|
</DataGridTemplateColumn.CellTemplate>
|
|
</DataGridTemplateColumn>
|
|
<DataGridTextColumn IsReadOnly="True" Header="Name (Oasis id)" Binding="{Binding Challenge.Name.Id}" Visibility="Collapsed"/>
|
|
<DataGridTextColumn IsReadOnly="True" Header="Name (Oasis path)" Binding="{Binding Challenge.Name.Path}" Visibility="Collapsed"/>
|
|
<DataGridTextColumn IsReadOnly="True" Header="Name" Binding="{Binding Challenge.Name, Converter={StaticResource LocalizedLineToMasterConverter}, FallbackValue=..., IsAsync=True}"/>
|
|
<DataGridTextColumn IsReadOnly="True" Header="Objective (Oasis id)" Binding="{Binding Challenge.Objective.Id}" Visibility="Collapsed"/>
|
|
<DataGridTextColumn IsReadOnly="True" Header="Objective (Oasis path)" Binding="{Binding Challenge.Objective.Path}" Visibility="Collapsed"/>
|
|
<DataGridTextColumn IsReadOnly="True" Header="Objective" Binding="{Binding Challenge.Objective, Converter={StaticResource LocalizedLineToMasterConverter}, FallbackValue=..., IsAsync=True}" Visibility="Collapsed"/>
|
|
<DataGridTextColumn Header="Id" Binding="{Binding Id, UpdateSourceTrigger=PropertyChanged}"/>
|
|
<DataGridTemplateColumn Header="Type" SortMemberPath="Type">
|
|
<DataGridTemplateColumn.CellTemplate>
|
|
<DataTemplate>
|
|
<TextBlock Text="{Binding Type}"/>
|
|
</DataTemplate>
|
|
</DataGridTemplateColumn.CellTemplate>
|
|
<DataGridTemplateColumn.CellEditingTemplate>
|
|
<DataTemplate>
|
|
<ComboBox SelectedItem="{Binding Type, UpdateSourceTrigger=PropertyChanged}">
|
|
<ComboBox.ItemsSource>
|
|
<x:Array Type="{x:Type google:AchievementType}">
|
|
<google:AchievementType>Standard</google:AchievementType>
|
|
<google:AchievementType>Incremental</google:AchievementType>
|
|
</x:Array>
|
|
</ComboBox.ItemsSource>
|
|
</ComboBox>
|
|
</DataTemplate>
|
|
</DataGridTemplateColumn.CellEditingTemplate>
|
|
</DataGridTemplateColumn>
|
|
<DataGridTemplateColumn Header="Locked image" IsReadOnly="True" Visibility="Collapsed">
|
|
<DataGridTemplateColumn.CellTemplate>
|
|
<DataTemplate>
|
|
<Button ToolTip="Select image" Command="{Binding DataContext.SetLockedImageCommand, ElementName=This}" CommandParameter="{Binding}" Padding="0">
|
|
<Grid>
|
|
<Image Name="AchievementLockedImage" behavior:ImageBehavior.SourceFile="{Binding LockedImagePath}" MaxHeight="{Binding DataContext.Game.Settings.ImageMaxHeight, ElementName=This}"/>
|
|
<TextBlock Text="..." VerticalAlignment="Center" HorizontalAlignment="Center">
|
|
<TextBlock.Style>
|
|
<Style TargetType="TextBlock">
|
|
<Setter Property="Visibility" Value="Collapsed"/>
|
|
<Style.Triggers>
|
|
<DataTrigger Binding="{Binding Source, ElementName=AchievementLockedImage}" Value="{x:Null}">
|
|
<Setter Property="Visibility" Value="Visible"/>
|
|
</DataTrigger>
|
|
<DataTrigger Binding="{Binding IsMouseOver, RelativeSource={RelativeSource AncestorType=Button}}" Value="True">
|
|
<Setter Property="Visibility" Value="Visible"/>
|
|
</DataTrigger>
|
|
</Style.Triggers>
|
|
</Style>
|
|
</TextBlock.Style>
|
|
</TextBlock>
|
|
</Grid>
|
|
</Button>
|
|
</DataTemplate>
|
|
</DataGridTemplateColumn.CellTemplate>
|
|
</DataGridTemplateColumn>
|
|
<DataGridTemplateColumn Header="Unlocked image" IsReadOnly="True">
|
|
<DataGridTemplateColumn.CellTemplate>
|
|
<DataTemplate>
|
|
<Button ToolTip="Select image" Command="{Binding DataContext.SetUnlockedImageCommand, ElementName=This}" CommandParameter="{Binding}" Padding="0">
|
|
<Grid>
|
|
<Image Name="AchievementUnlockedImage" behavior:ImageBehavior.SourceFile="{Binding UnlockedImagePath}" MaxHeight="{Binding DataContext.Game.Settings.ImageMaxHeight, ElementName=This}"/>
|
|
<TextBlock Text="..." VerticalAlignment="Center" HorizontalAlignment="Center">
|
|
<TextBlock.Style>
|
|
<Style TargetType="TextBlock">
|
|
<Setter Property="Visibility" Value="Collapsed"/>
|
|
<Style.Triggers>
|
|
<DataTrigger Binding="{Binding Source, ElementName=AchievementUnlockedImage}" Value="{x:Null}">
|
|
<Setter Property="Visibility" Value="Visible"/>
|
|
</DataTrigger>
|
|
<DataTrigger Binding="{Binding IsMouseOver, RelativeSource={RelativeSource AncestorType=Button}}" Value="True">
|
|
<Setter Property="Visibility" Value="Visible"/>
|
|
</DataTrigger>
|
|
</Style.Triggers>
|
|
</Style>
|
|
</TextBlock.Style>
|
|
</TextBlock>
|
|
</Grid>
|
|
</Button>
|
|
</DataTemplate>
|
|
</DataGridTemplateColumn.CellTemplate>
|
|
</DataGridTemplateColumn>
|
|
<DataGridTemplateColumn Header="Locked name (Oasis id)" SortMemberPath="LockedName.Id" Visibility="Collapsed">
|
|
<DataGridTemplateColumn.CellTemplate>
|
|
<DataTemplate>
|
|
<TextBlock Text="{Binding LockedName.Id}"/>
|
|
</DataTemplate>
|
|
</DataGridTemplateColumn.CellTemplate>
|
|
<DataGridTemplateColumn.CellEditingTemplate>
|
|
<DataTemplate>
|
|
<editors:AutoCompleteBox SelectedItem="{Binding LockedName, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" DisplayMemberPath="Id" TextMemberPath="Id"/>
|
|
</DataTemplate>
|
|
</DataGridTemplateColumn.CellEditingTemplate>
|
|
</DataGridTemplateColumn>
|
|
<DataGridTemplateColumn Header="Locked name (Oasis path)" SortMemberPath="LockedName.Path" Visibility="Collapsed">
|
|
<DataGridTemplateColumn.CellTemplate>
|
|
<DataTemplate>
|
|
<TextBlock Text="{Binding LockedName.Path}"/>
|
|
</DataTemplate>
|
|
</DataGridTemplateColumn.CellTemplate>
|
|
<DataGridTemplateColumn.CellEditingTemplate>
|
|
<DataTemplate>
|
|
<editors:AutoCompleteBox SelectedItem="{Binding LockedName, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" DisplayMemberPath="Path" TextMemberPath="Path"/>
|
|
</DataTemplate>
|
|
</DataGridTemplateColumn.CellEditingTemplate>
|
|
</DataGridTemplateColumn>
|
|
<DataGridTextColumn Header="Locked name" IsReadOnly="True" Binding="{Binding LockedName, Converter={StaticResource LocalizedLineToMasterConverter}, FallbackValue=..., IsAsync=True}" Visibility="Collapsed"/>
|
|
<DataGridTemplateColumn Header="Locked objective (Oasis id)" SortMemberPath="LockedObjective.Id" Visibility="Collapsed">
|
|
<DataGridTemplateColumn.CellTemplate>
|
|
<DataTemplate>
|
|
<TextBlock Text="{Binding LockedObjective.Id}"/>
|
|
</DataTemplate>
|
|
</DataGridTemplateColumn.CellTemplate>
|
|
<DataGridTemplateColumn.CellEditingTemplate>
|
|
<DataTemplate>
|
|
<editors:AutoCompleteBox SelectedItem="{Binding LockedObjective, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" DisplayMemberPath="Id" TextMemberPath="Id"/>
|
|
</DataTemplate>
|
|
</DataGridTemplateColumn.CellEditingTemplate>
|
|
</DataGridTemplateColumn>
|
|
<DataGridTemplateColumn Header="Locked objective (Oasis path)" SortMemberPath="LockedObjective.Path" Visibility="Collapsed">
|
|
<DataGridTemplateColumn.CellTemplate>
|
|
<DataTemplate>
|
|
<TextBlock Text="{Binding LockedObjective.Path}"/>
|
|
</DataTemplate>
|
|
</DataGridTemplateColumn.CellTemplate>
|
|
<DataGridTemplateColumn.CellEditingTemplate>
|
|
<DataTemplate>
|
|
<editors:AutoCompleteBox SelectedItem="{Binding LockedObjective, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" DisplayMemberPath="Path" TextMemberPath="Path"/>
|
|
</DataTemplate>
|
|
</DataGridTemplateColumn.CellEditingTemplate>
|
|
</DataGridTemplateColumn>
|
|
<DataGridTextColumn Header="Locked objective" IsReadOnly="True" Binding="{Binding LockedObjective, Converter={StaticResource LocalizedLineToMasterConverter}, FallbackValue=..., IsAsync=True}" Visibility="Collapsed"/>
|
|
<DataGridTemplateColumn Header="Unlocked name (Oasis id)" SortMemberPath="UnlockedName.Id" Visibility="Collapsed">
|
|
<DataGridTemplateColumn.CellTemplate>
|
|
<DataTemplate>
|
|
<TextBlock Text="{Binding UnlockedName.Id}"/>
|
|
</DataTemplate>
|
|
</DataGridTemplateColumn.CellTemplate>
|
|
<DataGridTemplateColumn.CellEditingTemplate>
|
|
<DataTemplate>
|
|
<editors:AutoCompleteBox SelectedItem="{Binding UnlockedName, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" DisplayMemberPath="Id" TextMemberPath="Id"/>
|
|
</DataTemplate>
|
|
</DataGridTemplateColumn.CellEditingTemplate>
|
|
</DataGridTemplateColumn>
|
|
<DataGridTemplateColumn Header="Unlocked name (Oasis path)" SortMemberPath="UnlockedName.Path" Visibility="Collapsed">
|
|
<DataGridTemplateColumn.CellTemplate>
|
|
<DataTemplate>
|
|
<TextBlock Text="{Binding UnlockedName.Path}"/>
|
|
</DataTemplate>
|
|
</DataGridTemplateColumn.CellTemplate>
|
|
<DataGridTemplateColumn.CellEditingTemplate>
|
|
<DataTemplate>
|
|
<editors:AutoCompleteBox SelectedItem="{Binding UnlockedName, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" DisplayMemberPath="Path" TextMemberPath="Path"/>
|
|
</DataTemplate>
|
|
</DataGridTemplateColumn.CellEditingTemplate>
|
|
</DataGridTemplateColumn>
|
|
<DataGridTextColumn Header="Unlocked name" IsReadOnly="True" Binding="{Binding UnlockedObjective, Converter={StaticResource LocalizedLineToMasterConverter}, FallbackValue=..., IsAsync=True}" Visibility="Collapsed"/>
|
|
<DataGridTemplateColumn Header="Unlocked objective (Oasis id)" SortMemberPath="UnlockedObjective.Id" Visibility="Collapsed">
|
|
<DataGridTemplateColumn.CellTemplate>
|
|
<DataTemplate>
|
|
<TextBlock Text="{Binding UnlockedObjective.Id}"/>
|
|
</DataTemplate>
|
|
</DataGridTemplateColumn.CellTemplate>
|
|
<DataGridTemplateColumn.CellEditingTemplate>
|
|
<DataTemplate>
|
|
<editors:AutoCompleteBox SelectedItem="{Binding UnlockedObjective, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" DisplayMemberPath="Id" TextMemberPath="Id"/>
|
|
</DataTemplate>
|
|
</DataGridTemplateColumn.CellEditingTemplate>
|
|
</DataGridTemplateColumn>
|
|
<DataGridTemplateColumn Header="Unlocked objective (Oasis path)" SortMemberPath="UnlockedObjective.Path" Visibility="Collapsed">
|
|
<DataGridTemplateColumn.CellTemplate>
|
|
<DataTemplate>
|
|
<TextBlock Text="{Binding UnlockedObjective.Path}"/>
|
|
</DataTemplate>
|
|
</DataGridTemplateColumn.CellTemplate>
|
|
<DataGridTemplateColumn.CellEditingTemplate>
|
|
<DataTemplate>
|
|
<editors:AutoCompleteBox SelectedItem="{Binding UnlockedObjective, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" DisplayMemberPath="Path" TextMemberPath="Path"/>
|
|
</DataTemplate>
|
|
</DataGridTemplateColumn.CellEditingTemplate>
|
|
</DataGridTemplateColumn>
|
|
<DataGridTextColumn Header="Unlocked objective" IsReadOnly="True" Binding="{Binding UnlockedObjective, Converter={StaticResource LocalizedLineToMasterConverter}, FallbackValue=..., IsAsync=True}" Visibility="Collapsed"/>
|
|
</dataGrid:ThemedDataGrid.Columns>
|
|
</dataGrid:ThemedDataGrid>
|
|
</DockPanel>
|