C# 如何正确实现在ListView完成填充时触发的样式触发器?
我想设置我的C# 如何正确实现在ListView完成填充时触发的样式触发器?,c#,wpf,xaml,listview,datatrigger,C#,Wpf,Xaml,Listview,Datatrigger,我想设置我的列表视图的样式,以便在填充后外观会发生变化。我发现在ListView中有一个名为ItemContainerGenerator的东西,它包含一个Status属性,完成后(我想)该属性将设置为ContainersGenerated 因此,为了实现这一目标,我认为最好的方法是定义一个样式数据触发器来触发该属性 但它不起作用(当然)。我看到的是输出中的以下错误- System.Windows.Data错误:17:无法从“”(类型“ListView”)获取“状态”值(类型“GeneratorS
列表视图的样式
,以便在填充后外观会发生变化。我发现在ListView
中有一个名为ItemContainerGenerator
的东西,它包含一个Status
属性,完成后(我想)该属性将设置为ContainersGenerated
因此,为了实现这一目标,我认为最好的方法是定义一个样式数据触发器来触发该属性
但它不起作用(当然)。我看到的是输出中的以下错误-
System.Windows.Data错误:17:无法从“”(类型“ListView”)获取“状态”值(类型“GeneratorStatus”)。BindingExpression:Path=(ItemContainerGenerator.Status);DataItem='ListView'(名称='');目标元素是“ListView”(名称=“”);目标属性为“NotTarget”(类型为“Object”)TargetException:“System.Reflection.TargetException:对象与目标类型不匹配。
位于System.Reflection.RuntimeMethodInfo.CheckConsistency(对象目标)
位于System.Reflection.RuntimeMethodInfo.InvokeArgumentsCheck(对象对象对象、BindingFlags invokeAttr、绑定器、对象[]参数、CultureInfo区域性)
在System.Reflection.RuntimeMethodInfo.Invoke(对象obj、BindingFlags invokeAttr、绑定器绑定器、对象[]参数、CultureInfo区域性)
位于System.Reflection.RuntimePropertyInfo.GetValue(对象obj、BindingFlags invokeAttr、Binder Binder、对象[]索引、CultureInfo区域性)
位于System.Reflection.RuntimePropertyInfo.GetValue(对象obj,对象[]索引)
在MS.Internal.Data.PropertyPathWorker.GetValue(对象项,Int32级别)
在MS.Internal.Data.PropertyPathWorker.RawValue(Int32 k)中‘
在符合要求的情况下,在提出问题时—
福
酒吧
巴兹
因此,如何正确地创建一个数据触发器,在
列表视图完成填充时触发?删除ItemContainerGenerator.Status周围的括号。对我有用。顺便说一句,如果你正在使用回收,你会不断切换状态,当你滚动。如果您的列表需要很长时间才能填充,听起来您应该使用回收和虚拟化。对于“正常”数量的项目,用户甚至看不到未完成状态,因为它会立即发生。删除ItemContainerGenerator.Status周围的括号。对我有用。顺便说一句,如果你正在使用回收,你会不断切换状态,当你滚动。如果您的列表需要很长时间才能填充,听起来您应该使用回收和虚拟化。对于“正常”数量的项目,用户甚至看不到未完成状态,因为它会立即发生