﻿<pu:WindowX x:Class="Plugin.DOControl.ControlList"
            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:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
            xmlns:local="clr-namespace:Plugin.DOControl"
            xmlns:pw="https://opensource.panuon.com/wpf"
            xmlns:pu="https://opensource.panuon.com/wpf-ui"
            xmlns:dp="clr-namespace:HMI.UI.DpUtil;assembly=HMI.UI"
            mc:Ignorable="d"
            Title="Form"
            Height="800"
            SizeToContent="Manual"
            WindowStartupLocation="CenterOwner"
            Style="{StaticResource ModalWindow}">
    <Grid Margin="10" dp:GridHelper.Space="10">
        <Grid.RowDefinitions>
            <RowDefinition Height="Auto"/>
            <RowDefinition Height="Auto"/>
            <RowDefinition/>
        </Grid.RowDefinitions>
        
        <DockPanel Grid.Row="0">
            <StackPanel DockPanel.Dock="Right" Style="{StaticResource ButtonGroup}">
                <Button Style="{StaticResource AddBtn}"
                            x:Name="addBtn" Click="Button_Click"/>
                <Button Style="{StaticResource RfhBtn}"
                            x:Name="refreshBtn" Click="Button_Click"/>

                <Button Style="{StaticResource DelBtn}" 
                        x:Name="delBatchBtn" Click="Button_Click"/>

                <Button x:Name="exportBtn"
                            Style="{StaticResource ExportBtn}" Click="Button_Click"/>
                <Button x:Name="importBtn" Style="{StaticResource ImportBtn}" Click="Button_Click"/>
            </StackPanel>
            <TextBlock FontSize="{StaticResource TitleFontSize}" 
VerticalAlignment="Center" HorizontalAlignment="Left" Text="{DynamicResource doc.list}"/>
        </DockPanel>


        <DataGrid Grid.Row="2" x:Name="table" Style="{StaticResource DefaultDataGrid}" ItemsSource="{Binding Datasource}">
            <DataGrid.Columns>
                <DataGridTemplateColumn Header="" Width="Auto" CanUserResize="False">
                    <DataGridTemplateColumn.CellTemplate>
                        <DataTemplate>
                            <CheckBox VerticalAlignment="Center" IsChecked="{Binding IsSelected,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}"/>
                        </DataTemplate>
                    </DataGridTemplateColumn.CellTemplate>
                </DataGridTemplateColumn>
                <DataGridTemplateColumn Header="#" CanUserResize="False">
                    <DataGridTemplateColumn.CellTemplate>
                        <DataTemplate>
                            <TextBlock Text="{Binding Converter={StaticResource rowNumber},
    RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type DataGridRow},AncestorLevel=1}}"/>
                        </DataTemplate>
                    </DataGridTemplateColumn.CellTemplate>
                </DataGridTemplateColumn>
                <DataGridTextColumn Width="*" Binding="{Binding Group}">
                    <DataGridTextColumn.Header>
                        <TextBlock Text="{DynamicResource doc.group}"/>
                    </DataGridTextColumn.Header>
                </DataGridTextColumn>
                <DataGridTextColumn Width="*" Binding="{Binding Name}">
                    <DataGridTextColumn.Header>
                        <TextBlock Text="{DynamicResource doc.name}"/>
                    </DataGridTextColumn.Header>
                </DataGridTextColumn>

                <DataGridTextColumn Width="*" Binding="{Binding Address}">
                    <DataGridTextColumn.Header>
                        <TextBlock Text="{DynamicResource doc.address}"/>
                    </DataGridTextColumn.Header>
                </DataGridTextColumn>

                <DataGridTextColumn Width="*" Binding="{Binding ReadOnly}">
                    <DataGridTextColumn.Header>
                        <TextBlock Text="{DynamicResource doc.readOnly}"/>
                    </DataGridTextColumn.Header>
                </DataGridTextColumn>

                <DataGridTextColumn Width="*" Binding="{Binding PressDownValue}">
                    <DataGridTextColumn.Header>
                        <TextBlock Text="{DynamicResource doc.pressDownValue}"/>
                    </DataGridTextColumn.Header>
                </DataGridTextColumn>

                <DataGridTextColumn Width="*" Binding="{Binding PressUpValue}">
                    <DataGridTextColumn.Header>
                        <TextBlock Text="{DynamicResource doc.pressUpValue}"/>
                    </DataGridTextColumn.Header>
                </DataGridTextColumn>

                <DataGridTextColumn Width="*" Binding="{Binding ControlType}">
                    <DataGridTextColumn.Header>
                        <TextBlock Text="{DynamicResource doc.controlType}"/>
                    </DataGridTextColumn.Header>
                </DataGridTextColumn>

                <DataGridTemplateColumn Width="110" IsReadOnly="True" CanUserResize="False">
                    <DataGridTemplateColumn.Header>
                        <TextBlock Text="{DynamicResource App.Opt}"/>
                    </DataGridTemplateColumn.Header>
                    <DataGridTemplateColumn.CellTemplate>
                        <DataTemplate>
                            <StackPanel Orientation="Horizontal">
                                <Button x:Name="editBtn" Style="{StaticResource EditLink}"
    Click="Button_Click" Margin="0,0,10,0"
    DataContext="{Binding }"/>
                                <Button x:Name="delBtn" Style="{StaticResource DeleteLink}" 
    DataContext="{Binding }"
    Click="Button_Click"/>
                            </StackPanel>
                        </DataTemplate>
                    </DataGridTemplateColumn.CellTemplate>
                </DataGridTemplateColumn>
            </DataGrid.Columns>
        </DataGrid>
    </Grid>
</pu:WindowX>
