我有一个对象与属性的列表Name
和Value
它们在列表框所示。该列表是按顺序排列的Name
,我需要在my的第三列中显示所有先前对象的值之和Listbox
。
我创建了一个ItemTemplate
从中调用的ListItemConverter
,它应该通过访问父对象将其ListItem
转换为所需的double
值Listbox
。我可以将电流ListItem
(或更确切地说,根据ContentPresenter
)传递给我的转换器
RelativeSource="{RelativeSource TemplatedParent}"
但是ListItem不包含全部信息Listbox
(当我以这种方式陈述时,这似乎很明显),因此我还需要Listbox
将对我的引用(或我用作的列表ItemSource
)传递给Converter。
如何将第二个参数传递给转换器,如何Listbox
在我的内部将父级作为资源访问ItemTemplate
?
您有两种选择:
在您的项目类中创建第三个属性,或使用Name,Value和Sum属性创建新的Item类。特别是在mvvm方案中使用此功能
使用MultiConverter和MultiBinding:
<ListBox ItemsSource="{Binding MyCollection}">
<ListBox.ItemTemplate>
<DataTemplate>
<TextBlock>
<TextBlock.Text>
<MultiBinding Converter="{StaticResource YourMultiConverter}">
<Binding />
<Binding Path="ItemsSource" RelativeSource="{RelativeSource AncestorType=ListBox}" />
</MultiBinding>
</TextBlock.Text>
</TextBlock>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句