wpf DataGrid 里的列模版的值绑定

Posted wjx-blog

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了wpf DataGrid 里的列模版的值绑定相关的知识,希望对你有一定的参考价值。

第一步:建立一个模版文件,如下:

<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
                    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
                    xmlns:local="clr-namespace:Main.TemplateResource">
    <DataTemplate x:Key="fileTypeIcon">
        <StackPanel VerticalAlignment="Center" HorizontalAlignment="Stretch">
            <!--<TextBlock Cursor="Hand" HorizontalAlignment="Center" VerticalAlignment="Bottom" Margin="0,0,0,0"  Name="btnMin" Text="&#xf07b;" Style="{StaticResource FontAwesome}" FontSize="14" Foreground="#f8c92a"></TextBlock>-->
            <TextBlock Text="{Binding RowData.Row.FileName}"></TextBlock>
        </StackPanel>
    </DataTemplate>
</ResourceDictionary>

第二步:引用模版文件   (由于我是用在用户控件里,所以没有使用Window.Resources  这里用的是 Control.Resources)

    <Control.Resources>
        <ResourceDictionary>
            <ResourceDictionary.MergedDictionaries>
                <ResourceDictionary Source="/Main;component/TemplateResource/FileTypeIconResource.xaml" />
            </ResourceDictionary.MergedDictionaries>
        </ResourceDictionary>
    </Control.Resources>

第三步:使用模版   

CellTemplate="{DynamicResource fileTypeIcon}"
            <dxg:GridControl Name="grid"  Grid.Row="1" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" SelectionMode="Row">
                <dxg:GridControl.View>
                    <dxg:TableView NavigationStyle="Row" x:Name="gridView" AllowScrollAnimation="True" ShowGroupPanel="False" />
                </dxg:GridControl.View>
                <dxg:GridControl.Columns>
                <dxg:GridColumn Header="" CellTemplate="{DynamicResource fileTypeIcon}"  FieldName="Type" HorizontalHeaderContentAlignment="Center" Width="35" ></dxg:GridColumn>
                <dxg:GridColumn Header="文件名" HorizontalHeaderContentAlignment="Left" FixedWidth="True" FieldName="FileName" Width="*" />
                <dxg:GridColumn Header="修改时间" HorizontalHeaderContentAlignment="Center" FieldName="EditDate" Width="100" />
                <dxg:GridColumn Header="大小" HorizontalHeaderContentAlignment="Center" FieldName="FileSize" Width="80" />
                </dxg:GridControl.Columns>
            </dxg:GridControl>

备注:

<TextBlock Text="{Binding RowData.Row.FileName}"></TextBlock>
这里的RowData.Row.FileName的使用方法害我浪费了好长时间。

以上是关于wpf DataGrid 里的列模版的值绑定的主要内容,如果未能解决你的问题,请参考以下文章

将wpf datagrid导出为自定义Excel CSV文件

wpf datagrid绑定了数据 如果选中多行中怎么获取选中行的某列的值

WPF MVVM模式如何控制DataGrid的列隐藏和显示

wpf datagrid 怎么增加数据行

在WPF中我新建了一个datagrid,我现在想把列绑定到数据库不同的表里的列,怎么实现?

WPF DataGrid的可见性