<Page
  x:Class="VPet.ModMaker.Views.ModEdit.SelectTextEdit.SelectTextPage"
  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.SelectTextEdit"
  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.SelectTextEdit"
  Title="SelectTextPage"
  d:DataContext="{d:DesignInstance Type=vm:SelectTextPageVM}"
  d:DesignHeight="450"
  d:DesignWidth="800"
  mc:Ignorable="d">
  <Grid>
    <Grid.RowDefinitions>
      <RowDefinition Height="Auto" />
      <RowDefinition />
    </Grid.RowDefinitions>
    <TextBox pu:TextBoxHelper.Watermark="{ll:Str 搜索Id}" Text="{Binding Search.Value, UpdateSourceTrigger=PropertyChanged}" />
    <DataGrid
      Grid.Row="1"
      d:ItemsSource="{d:SampleData ItemCount=5}"
      pu:DataGridHelper.ColumnHeaderHorizontalContentAlignment="Center"
      AutoGenerateColumns="False"
      CanUserAddRows="False"
      GridLinesVisibility="Horizontal"
      ItemsSource="{Binding ShowSelectTexts.Value}"
      MouseDoubleClick="DataGrid_MouseDoubleClick"
      RowDetailsVisibilityMode="Visible"
      RowHeight="64"
      VirtualizingStackPanel.IsVirtualizing="True"
      VirtualizingStackPanel.VirtualizationMode="Recycling">
      <DataGrid.RowStyle>
        <Style BasedOn="{StaticResource {x:Type DataGridRow}}" TargetType="DataGridRow">
          <Setter Property="Height" Value="64" />
          <Setter Property="Tag" Value="{Binding}" />
          <Setter Property="ContextMenu" Value="{StaticResource ContextMenu_DataGridRow}" />
        </Style>
      </DataGrid.RowStyle>
      <DataGrid.Columns>
        <DataGridTextColumn
          MaxWidth="200"
          Binding="{Binding Id.Value}"
          CanUserSort="True"
          ElementStyle="{StaticResource TextBlock_Wrap}"
          IsReadOnly="True"
          SortMemberPath="Id.Value">
          <DataGridTextColumn.Header>
            <TextBlock Text="Id" />
          </DataGridTextColumn.Header>
        </DataGridTextColumn>
        <DataGridTextColumn
          MaxWidth="200"
          Binding="{Binding CurrentI18nData.Value.Choose.Value}"
          CanUserSort="True"
          ElementStyle="{StaticResource TextBlock_Wrap}"
          IsReadOnly="True"
          SortMemberPath="CurrentI18nData.Value.Choose.Value">
          <DataGridTextColumn.Header>
            <TextBlock Text="{ll:Str 选择名}" />
          </DataGridTextColumn.Header>
        </DataGridTextColumn>
        <DataGridTextColumn
          MaxWidth="300"
          Binding="{Binding CurrentI18nData.Value.Text.Value}"
          CanUserSort="True"
          ElementStyle="{StaticResource TextBlock_Wrap}"
          IsReadOnly="True"
          SortMemberPath="CurrentI18nData.Value.Text.Value">
          <DataGridTextColumn.Header>
            <TextBlock Text="{ll:Str 文本}" />
          </DataGridTextColumn.Header>
        </DataGridTextColumn>
        <DataGridTextColumn
          MaxWidth="200"
          Binding="{Binding Tags.Value}"
          CanUserSort="True"
          ElementStyle="{StaticResource TextBlock_Wrap}"
          IsReadOnly="True"
          SortMemberPath="Tags.Value">
          <DataGridTextColumn.Header>
            <TextBlock Text="{ll:Str 标签}" />
          </DataGridTextColumn.Header>
        </DataGridTextColumn>
        <DataGridTextColumn
          MaxWidth="200"
          Binding="{Binding ToTags.Value}"
          CanUserSort="True"
          ElementStyle="{StaticResource TextBlock_Wrap}"
          IsReadOnly="True"
          SortMemberPath="ToTags.Value">
          <DataGridTextColumn.Header>
            <TextBlock Text="{ll:Str 跳转标签}" />
          </DataGridTextColumn.Header>
        </DataGridTextColumn>
        <DataGridTextColumn
          Binding="{Binding Mode.EnumValue}"
          CanUserSort="True"
          IsReadOnly="True"
          SortMemberPath="Mode.EnumValue">
          <DataGridTextColumn.Header>
            <TextBlock Text="{ll:Str 状态}" />
          </DataGridTextColumn.Header>
        </DataGridTextColumn>
        <DataGridTextColumn
          Binding="{Binding Like.Info.Value}"
          CanUserSort="True"
          IsReadOnly="True"
          SortMemberPath="Like.Info.Value">
          <DataGridTextColumn.Header>
            <TextBlock Text="{ll:Str 好感度范围}" />
          </DataGridTextColumn.Header>
        </DataGridTextColumn>
        <DataGridTextColumn
          Binding="{Binding Health.Info.Value}"
          CanUserSort="True"
          IsReadOnly="True"
          SortMemberPath="Health.Info.Value">
          <DataGridTextColumn.Header>
            <TextBlock Text="{ll:Str 健康度范围}" />
          </DataGridTextColumn.Header>
        </DataGridTextColumn>
        <DataGridTextColumn
          Binding="{Binding Level.Info.Value}"
          CanUserSort="True"
          IsReadOnly="True"
          SortMemberPath="Level.Info.Value">
          <DataGridTextColumn.Header>
            <TextBlock Text="{ll:Str 等级范围}" />
          </DataGridTextColumn.Header>
        </DataGridTextColumn>
        <DataGridTextColumn
          Binding="{Binding Money.Info.Value}"
          CanUserSort="True"
          IsReadOnly="True"
          SortMemberPath="Money.Info.Value">
          <DataGridTextColumn.Header>
            <TextBlock Text="{ll:Str 金钱范围}" />
          </DataGridTextColumn.Header>
        </DataGridTextColumn>
        <DataGridTextColumn
          Binding="{Binding Food.Info.Value}"
          CanUserSort="True"
          IsReadOnly="True"
          SortMemberPath="Food.Info.Value">
          <DataGridTextColumn.Header>
            <TextBlock Text="{ll:Str 食物范围}" />
          </DataGridTextColumn.Header>
        </DataGridTextColumn>
        <DataGridTextColumn
          Binding="{Binding Drink.Info.Value}"
          CanUserSort="True"
          IsReadOnly="True"
          SortMemberPath="Drink.Info.Value">
          <DataGridTextColumn.Header>
            <TextBlock Text="{ll:Str 口渴范围}" />
          </DataGridTextColumn.Header>
        </DataGridTextColumn>
        <DataGridTextColumn
          Binding="{Binding Feel.Info.Value}"
          CanUserSort="True"
          IsReadOnly="True"
          SortMemberPath="Feel.Info.Value">
          <DataGridTextColumn.Header>
            <TextBlock Text="{ll:Str 心情范围}" />
          </DataGridTextColumn.Header>
        </DataGridTextColumn>
        <DataGridTextColumn
          Binding="{Binding Strength.Info.Value}"
          CanUserSort="True"
          IsReadOnly="True"
          SortMemberPath="Strength.Info.Value">
          <DataGridTextColumn.Header>
            <TextBlock Text="{ll:Str 体力范围}" />
          </DataGridTextColumn.Header>
        </DataGridTextColumn>
      </DataGrid.Columns>
    </DataGrid>
    <Button
      Grid.Row="1"
      HorizontalAlignment="Right"
      VerticalAlignment="Bottom"
      Command="{Binding AddCommand}"
      Content="➕"
      Style="{StaticResource AddButton}" />
  </Grid>
</Page>
