我在CollectionListView中显示了一个int属性(Math.Max)的摘要,该属性被分组。这可以通过ValueConverter来完成,它可以正常工作,但每当这个底层项目的Proptery发生变化时,Expander.Header就不会更新。如果我手动订阅每个单项的每个PropertyChanged事件并触发CollectionChangedEvent,则整个视图会更新,并且扩展器状态会丢失。我怎么能在没有代码的情况下用XAML实现我想要的东西?
<Style x:Key="GroupHeaderStyle" TargetType="{x:Type GroupItem}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type GroupItem}">
<Expander IsExpanded="True">
<Expander.Header>
<StackPanel Orientation="Horizontal">
<TextBlock Text="Assign To: "/>
<TextBlock Text="{Binding Items, Converter{StaticResource PropertyCollectionConverter}}"/>
</StackPanel>
</Expander.Header>
<ItemsPresenter/>
</Expander>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
我想要的是这样的(伪代码):
StackPanel Orientation="Horizontal">
<TextBlock Text="Assign To: "/>
<TextBlock Text="{Binding Items.Max(t => t.MyIntProperty)}"/>
</StackPanel>
任何提示我怎么能达到这个目的?