<Page
  x:Class="VPet.ModMaker.Views.ModEdit.FoodEdit.FoodPage"
  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.FoodEdit"
  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.FoodEdit"
  Title="FoodPage"
  d:DataContext="{d:DesignInstance Type=vm:FoodPageVM}"
  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 ShowFoods.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
          Binding="{Binding Id.Value}"
          CanUserSort="True"
          IsReadOnly="True"
          SortMemberPath="Id.Value">
          <DataGridTextColumn.Header>
            <TextBlock Text="Id" />
          </DataGridTextColumn.Header>
        </DataGridTextColumn>
        <DataGridTemplateColumn IsReadOnly="True">
          <DataGridTemplateColumn.Header>
            <TextBlock Text="{ll:Str 食物图片}" />
          </DataGridTemplateColumn.Header>
          <DataGridTemplateColumn.CellTemplate>
            <DataTemplate>
              <Image
                Width="64"
                Height="64"
                HorizontalAlignment="Center"
                VerticalAlignment="Center"
                Source="{Binding Image.Value, IsAsync=True}"
                Stretch="Uniform">
                <Image.ToolTip>
                  <Image
                    Width="256"
                    Height="256"
                    HorizontalAlignment="Center"
                    VerticalAlignment="Center"
                    Source="{Binding Image.Value, IsAsync=True}"
                    Stretch="Uniform" />
                </Image.ToolTip>
              </Image>
            </DataTemplate>
          </DataGridTemplateColumn.CellTemplate>
        </DataGridTemplateColumn>
        <DataGridTextColumn
          Binding="{Binding CurrentI18nData.Value.Name.Value}"
          CanUserSort="True"
          IsReadOnly="True"
          SortMemberPath="CurrentI18nData.Value.Name.Value">
          <DataGridTextColumn.Header>
            <TextBlock Text="{ll:Str 食物名称}" />
          </DataGridTextColumn.Header>
        </DataGridTextColumn>
        <DataGridTextColumn
          Binding="{Binding Type.Value}"
          CanUserSort="True"
          IsReadOnly="True"
          SortMemberPath="Type.Value">
          <DataGridTextColumn.Header>
            <TextBlock Text="{ll:Str 食物类型}" />
          </DataGridTextColumn.Header>
        </DataGridTextColumn>
        <DataGridTextColumn
          Binding="{Binding Graph.Value}"
          CanUserSort="True"
          IsReadOnly="True"
          SortMemberPath="Type.Value">
          <DataGridTextColumn.Header>
            <TextBlock Text="{ll:Str 指定动画}" />
          </DataGridTextColumn.Header>
        </DataGridTextColumn>
        <DataGridTextColumn
          Binding="{Binding StrengthFood.Value}"
          CanUserSort="True"
          IsReadOnly="True"
          SortMemberPath="StrengthFood.Value">
          <DataGridTextColumn.Header>
            <TextBlock Text="{ll:Str 饱腹值}" />
          </DataGridTextColumn.Header>
        </DataGridTextColumn>
        <DataGridTextColumn
          Binding="{Binding StrengthDrink.Value}"
          CanUserSort="True"
          IsReadOnly="True"
          SortMemberPath="StrengthDrink.Value">
          <DataGridTextColumn.Header>
            <TextBlock Text="{ll:Str 口渴值}" />
          </DataGridTextColumn.Header>
        </DataGridTextColumn>
        <DataGridTextColumn
          Binding="{Binding Health.Value}"
          CanUserSort="True"
          IsReadOnly="True"
          SortMemberPath="Health.Value">
          <DataGridTextColumn.Header>
            <TextBlock Text="{ll:Str 健康值}" />
          </DataGridTextColumn.Header>
        </DataGridTextColumn>
        <DataGridTextColumn
          Binding="{Binding Strength.Value}"
          CanUserSort="True"
          IsReadOnly="True"
          SortMemberPath="Strength.Value">
          <DataGridTextColumn.Header>
            <TextBlock Text="{ll:Str 体力值}" />
          </DataGridTextColumn.Header>
        </DataGridTextColumn>
        <DataGridTextColumn
          Binding="{Binding Feeling.Value}"
          CanUserSort="True"
          IsReadOnly="True"
          SortMemberPath="Feeling.Value">
          <DataGridTextColumn.Header>
            <TextBlock Text="{ll:Str 心情值}" />
          </DataGridTextColumn.Header>
        </DataGridTextColumn>
        <DataGridTextColumn
          Binding="{Binding Likability.Value}"
          CanUserSort="True"
          IsReadOnly="True"
          SortMemberPath="Likability.Value">
          <DataGridTextColumn.Header>
            <TextBlock Text="{ll:Str 好感值}" />
          </DataGridTextColumn.Header>
        </DataGridTextColumn>
        <DataGridTextColumn
          Binding="{Binding Exp.Value}"
          CanUserSort="True"
          IsReadOnly="True"
          SortMemberPath="Exp.Value">
          <DataGridTextColumn.Header>
            <TextBlock Text="{ll:Str 经验值}" />
          </DataGridTextColumn.Header>
        </DataGridTextColumn>
        <DataGridTextColumn
          Binding="{Binding Price.Value}"
          CanUserSort="True"
          IsReadOnly="True"
          SortMemberPath="Price.Value">
          <DataGridTextColumn.Header>
            <TextBlock Text="{ll:Str 价格}" />
          </DataGridTextColumn.Header>
        </DataGridTextColumn>
        <DataGridTextColumn
          Binding="{Binding CurrentI18nData.Value.Description.Value}"
          CanUserSort="True"
          IsReadOnly="True"
          SortMemberPath="CurrentI18nData.Value.Description.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>
