<Page
  x:Class="VPet.ModMaker.Views.ModEdit.MoveEdit.MovePage"
  xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
  xmlns:ll="clr-namespace:LinePutScript.Localization.WPF;assembly=LinePutScript.Localization.WPF"
  xmlns:local="clr-namespace:VPet.ModMaker.Views.ModEdit.MoveEdit"
  xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
  xmlns:pu="https://opensource.panuon.com/wpf-ui"
  xmlns:vm="clr-namespace:VPet.ModMaker.ViewModels.ModEdit.MoveEdit"
  Title="MovePage"
  d:DataContext="{d:DesignInstance Type=vm:MovePageVM}"
  d:DesignHeight="450"
  d:DesignWidth="800"
  mc:Ignorable="d">
  <Grid>
    <Grid.RowDefinitions>
      <RowDefinition Height="Auto" />
      <RowDefinition />
    </Grid.RowDefinitions>
    <Grid>
      <Grid.ColumnDefinitions>
        <ColumnDefinition />
        <ColumnDefinition Width="Auto" />
      </Grid.ColumnDefinitions>
      <TextBox pu:TextBoxHelper.Watermark="{ll:Str 搜索动画}" Text="{Binding Search.Value, UpdateSourceTrigger=PropertyChanged}">
        <TextBox.Style>
          <Style BasedOn="{StaticResource StandardTextBoxStyle}" TargetType="TextBox">
            <Setter Property="IsEnabled" Value="True" />
            <Style.Triggers>
              <DataTrigger Binding="{Binding SelectedItem, ElementName=ComboBox_Pet}" Value="{x:Null}">
                <Setter Property="IsEnabled" Value="False" />
              </DataTrigger>
            </Style.Triggers>
          </Style>
        </TextBox.Style>
      </TextBox>
      <ComboBox
        x:Name="ComboBox_Pet"
        Grid.Column="1"
        pu:ComboBoxHelper.Watermark="{ll:Str 选择宠物}"
        DisplayMemberPath="Id.Value"
        ItemsSource="{Binding Pets}"
        SelectedItem="{Binding CurrentPet.Value}"
        Style="{DynamicResource StandardComboBoxStyle}">
        <ComboBox.ItemContainerStyle>
          <Style BasedOn="{StaticResource {x:Type ComboBoxItem}}" TargetType="ComboBoxItem">
            <Setter Property="ToolTip" Value="{Binding CurrentI18nData.Value.Name.Value}" />
          </Style>
        </ComboBox.ItemContainerStyle>
      </ComboBox>
    </Grid>
    <Grid Grid.Row="1">
      <Grid.Style>
        <Style TargetType="Grid">
          <Setter Property="IsEnabled" Value="True" />
          <Style.Triggers>
            <DataTrigger Binding="{Binding SelectedItem, ElementName=ComboBox_Pet}" Value="{x:Null}">
              <Setter Property="IsEnabled" Value="False" />
            </DataTrigger>
          </Style.Triggers>
        </Style>
      </Grid.Style>
      <DataGrid
        d:ItemsSource="{d:SampleData ItemCount=5}"
        pu:DataGridHelper.ColumnHeaderHorizontalContentAlignment="Center"
        AutoGenerateColumns="False"
        CanUserAddRows="False"
        GridLinesVisibility="Horizontal"
        ItemsSource="{Binding ShowMoves.Value}"
        MouseDoubleClick="DataGrid_MouseDoubleClick"
        RowDetailsVisibilityMode="Visible"
        RowHeight="50"
        VirtualizingStackPanel.IsVirtualizing="True"
        VirtualizingStackPanel.VirtualizationMode="Recycling">
        <DataGrid.RowStyle>
          <Style BasedOn="{StaticResource {x:Type DataGridRow}}" TargetType="DataGridRow">
            <Setter Property="Height" Value="50" />
            <Setter Property="Tag" Value="{Binding}" />
            <Setter Property="ContextMenu" Value="{StaticResource ContextMenu_DataGridRow}" />
          </Style>
        </DataGrid.RowStyle>
        <DataGrid.Columns>
          <DataGridTextColumn
            Binding="{Binding Graph.Value}"
            CanUserSort="True"
            ElementStyle="{DynamicResource TextBlock_LeftCenter}"
            Header="{ll:Str 绑定动画}"
            IsReadOnly="True"
            SortMemberPath="Graph.Value" />
          <DataGridTextColumn
            Binding="{Binding LocateType.EnumValue.Value}"
            CanUserSort="True"
            ElementStyle="{DynamicResource TextBlock_LeftCenter}"
            Header="{ll:Str 定位类型}"
            IsReadOnly="True"
            SortMemberPath="LocateType.EnumValue.Value" />
          <DataGridTextColumn
            Binding="{Binding TriggerType.EnumValue.Value}"
            CanUserSort="True"
            ElementStyle="{DynamicResource TextBlock_LeftCenter}"
            Header="{ll:Str 触发类型}"
            IsReadOnly="True"
            SortMemberPath="TriggerType.EnumValue.Value" />
          <DataGridTextColumn
            Binding="{Binding ModeType.EnumValue.Value}"
            CanUserSort="True"
            ElementStyle="{DynamicResource TextBlock_LeftCenter}"
            Header="{ll:Str 状态类型}"
            IsReadOnly="True"
            SortMemberPath="ModeType.EnumValue.Value" />
          <DataGridTextColumn
            Binding="{Binding Distance.Value}"
            CanUserSort="True"
            ElementStyle="{DynamicResource TextBlock_LeftCenter}"
            Header="{ll:Str 移动距离}"
            IsReadOnly="True"
            SortMemberPath="Distance.Value" />
          <DataGridTextColumn
            Binding="{Binding Interval.Value}"
            CanUserSort="True"
            ElementStyle="{DynamicResource TextBlock_LeftCenter}"
            Header="{ll:Str 移动间隔}"
            IsReadOnly="True"
            SortMemberPath="Interval.Value" />
          <DataGridTextColumn
            Binding="{Binding LocateLength.Value}"
            CanUserSort="True"
            ElementStyle="{DynamicResource TextBlock_LeftCenter}"
            Header="{ll:Str 定位长度}"
            IsReadOnly="True"
            SortMemberPath="LocateLength.Value" />
        </DataGrid.Columns>
      </DataGrid>
      <Button
        Grid.Row="1"
        HorizontalAlignment="Right"
        VerticalAlignment="Bottom"
        Command="{Binding AddCommand}"
        Content="➕"
        Style="{StaticResource AddButton}" />
    </Grid>
  </Grid>
</Page>
