![]() |
1
1
我会尝试以下方法:
a)您需要让列表框显示网格视图-我相信您已经这样做了。
在我的例子中,我设置了许多其他属性,但是在基本场景中——您需要加载事件。单击-如果要添加排序和筛选功能,这很有用。 c)在ListView代码中,将模板与GridView绑定:
d)然后在OnHeaderLoaded处理程序中,可以根据列的数据设置适当的模板。
//在此处选择并应用数据模板。
e)我想您还需要获得itemssource依赖属性的所有权,并处理它的changed事件。
GridViewColumn类本身没有太多的属性,因此您可能希望使用附加的属性(如唯一的列标记)在其中添加一些信息,最有可能将头用于本地化,并且您不会中继此属性。 一般来说,这种方法,即使非常复杂,也允许您轻松地扩展列表视图功能。 |
![]() |
2
2
可以使用附加的属性将列动态添加到ListView。看看这篇文章 代码项目 这正好解释了… |
![]() |
3
2
来自MSDN:
|
![]() |
4
0
有一个 数据模板选择器 选择一个预定义的模板(数据类型相同)并将选择器应用于ListView。您可以拥有任意多个具有不同列的数据模板。 |
![]() |
5
0
你可以使用 数据模板选择器 返回在代码中动态创建的数据模板。但是,这比使用来自XAML的预定义的有点繁琐和复杂,但是仍然是可能的。 看看这个例子: http://dedjo.blogspot.com/2007/03/creating-datatemplates-from-code.html |
![]() |
6
0
根据经验,如果你能帮助的话,我可以建议你避开动态数据模板…而是使用这里给出的建议明确地创建listview列,而不是尝试动态地创建数据模板。 原因是frameworkElementFactory(或任何类名用于在运行时生成数据模板)使用起来有点笨拙(不赞成使用xaml来创建动态模板),无论哪种方式都会影响性能。 |
|
Sei · Avalonia/WPF将路由器传递到控制模板 4 月前 |
![]() |
Barta · WPF MVVM不更新视图 5 月前 |
![]() |
Denis Ivanov · WPF控件在属性更改时不会更新 5 月前 |
![]() |
codymanix · WPF:TextBlock周围可见小边框? 5 月前 |
![]() |
Nostromo · 来自背景对象的工具提示 9 月前 |
![]() |
24sharon · 如果未选中复选框,Wpf将更改按钮的Visiblity 11 月前 |
![]() |
Nuvolari · 从可观测集合添加/删除时出现对象处理异常 11 月前 |
![]() |
CCarter · 只能在设计器中DependencyObject的DependencyProperty上设置显示“Binding”的WPF ICommand DependencyProperties[重复] 1 年前 |
![]() |
Thern · 在UI线程(WPF)上的void方法中调用异步函数 1 年前 |