• WPF GridView中的CellTemplate失效的原因


    最近做一个ListView的Style时,发现一个问题, 就是我的GridView的GridViewColumn的CellTemplate无论是用StaticResource还是DynamicResource,都是没有效果。

    原因:GridViewColumn用了DisplayMemberBinding 使得CellTemplate失效。 

    解决办法: 去掉DisplayMemberBinding, 在CellTemplate的模板中指定Path路径。 比如:

                                    <DataTemplate x:Key="GridViewHeaderTemplate1">
                                                                    <StackPanel>
                                                                                    <TextBlock  Text="{Binding Mode=OneWay}"/>
                                                                                    <TextBox  TextWrapping="Wrap" Text="" MinWidth="25"/>
                                                                    </StackPanel>
                                                    </DataTemplate>
                                                    
                                                    <DataTemplate x:Key="StatusDataTemplate">
                                                                    <CheckBox IsChecked="{Binding Status}"></CheckBox>
                                                    </DataTemplate>

    <GridViewColumn HeaderTemplate="{StaticResource GridViewHeaderTemplate1}" CellTemplate="{StaticResource StatusDataTemplate}"  Header="Status" />

    如果你不想用CellTemplate指定Binding的path, 可以通过<GridViewColumn HeaderTemplate="{StaticResource GridViewHeaderTemplate1}" DisplayMemberBinding="{Binding Status}"  Header="Status" />
  • 相关阅读:
    ASP.NET Core 从入门到精通-资源收集导航
    【5分钟系列】计算机系统结构的定义
    C#反射与特性(九):全网最全-解析反射
    C#反射与特性(七):自定义特性以及应用
    C#反射与特性(六):设计一个仿ASP.NETCore依赖注入Web
    C#反射与特性(五):类型成员操作
    C#反射与特性(四):实例化类型
    C#反射与特性(三):反射类型的成员
    C#反射与特性(二):探究反射
    安卓TabLayout+ViewPager实现切页
  • 原文地址:https://www.cnblogs.com/muzizongheng/p/3169070.html
Copyright © 2020-2023  润新知