开发者

Customized Datagrid in WPF

开发者 https://www.devze.com 2023-04-01 02:53 出处:网络
I am new to wpf and working on an accounting application, My problem is so simple yet I am astonishedthat I can not find a simplistic solution for this, it goes like this:

I am new to wpf and working on an accounting application, My problem is so simple yet I am astonished that I can not find a simplistic solution for this, it goes like this:

I have to create a datagrid in which only columns should have visible borders. I mean it should look something like this:

 | col1 | col2| col3|

 |      |     |     |

 |      |     |     |

 |-----|------|-----|

I did everything I could do but I achieved this:

Customized Datagrid in WPF

I dont understand why my vertical lines do not touch the border.......

tis is the xaml I am using to generate the datagrid:

<DataGrid Grid.Row="1" AutoGenerateColumns="False" x:Name="dataGrid1" VerticalAlignment="Stretch"
        CanUserReorderColumns="False" GridLinesVisibility="None" HorizontalGridLinesBrush="White"
        VerticalGridLinesBrush="White" Background="Transparent" Foreground="White" CanUserResizeRows="False"
        BorderBrush="White" BorderThickness="2" RowBackground="#FF008284" MinRowHeight="5" FontSize="14"
        ItemsSource="{Binding  }" Margin="8" SelectionMode="Single">
    <DataGrid.Resources>
        <Style TargetType="{x:Type DataGridColumnHeader}">
            <Setter Property="VerticalContentAlignment" Value="Center" />
            <Setter Property="VerticalAlignment" Value="Stretch" />
            <Setter Property="Background" Value="#FF008284" />
            <Setter Property="Foreground" Value="White" />
            <Setter Property="Visibility" Value="Visible" />
            <Setter Property="Height" Value="40" />
            <Setter Property="HorizontalAlignment" Value="Stretch" />
            <Setter Property="HorizontalContentAlignment" Value="Center" />
            <Setter Property="BorderThickness" Value="1,1,1,1" />
            <Setter Property="BorderBrush" Value="White" />
        </Style>
        <Style TargetType="{x:Type DataGridCell}">
            <Setter Property="BorderThickness" Value="1,0,1,0" />
            <Setter Property="BorderBrush" Value="White" />
            <Setter Property="TextBlock.TextAlignment" Value="Center" />
            <Setter Property="Height" Value="30" />
            <Setter Property="HorizontalContentAlignment" Value="Right" />
            <Setter Property="TextBlock.FontSize" Value="14" />
        </Style>
    </DataGrid.Resources>
    <DataGrid.Columns>
        <Da开发者_C百科taGridTextColumn Width="120*" Header="Account Head" CanUserResize="False" CanUserReorder="False"
                CanUserSort="False" Binding="{Binding Path=AC_NAME}" />
        <DataGridTextColumn Width="60*" Header="Category" CanUserResize="False" CanUserReorder="False"
                CanUserSort="False" Binding="{Binding Path=AC_CATE}" FontSize="16" />
        <DataGridTextColumn Width="80*" Header="Debit" CanUserResize="False" CanUserReorder="False" CanUserSort="False"
                Binding="{Binding Path=AC_TOT_DR}" FontSize="16" />
        <DataGridTextColumn Width="80*" Header="Credit" CanUserResize="False" CanUserReorder="False" CanUserSort="False"
                Binding="{Binding Path=AC_TOT_CR}" FontSize="16" />
    </DataGrid.Columns>
</DataGrid>

Thanks for the consideration....


You would need to change the default Template of the DataGrid as nothing is being created below the last row except a horizontal ScrollBar.

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号