Ich habe ItemsControl mit bindefähiger Objektquelle und benutzerdefinierter Datentabelle für jedes Element. Die Elemente sind durch eine Linie getrennt. Aber letzter Punkt hat auch Trennzeichen, und das ist mein Problem, wie man die Linie für das letzte Element nicht rendert. Ich habe diese Lösung gefunden, aber es funktioniert in WPF:Zeilentrennzeichen in DataTemplate für ListView
How can a separator be added between items in an ItemsControl
EDIT: Hier ist meine Vorlage:
<ItemsControl Grid.Row="1" ItemsSource="{x:Bind ViewModel.AvailableStatuses}" x:Name="Statuses">
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<StackPanel Orientation="Vertical" Padding="60,0,60,12"/>
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
<ItemsControl.ItemTemplate>
<DataTemplate>
<Grid Background="Transparent">
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<i:Interaction.Behaviors>
<core:EventTriggerBehavior EventName="Tapped">
<core:InvokeCommandAction Command="{Binding ElementName=ContentGrid, Path=DataContext.ChangeStatusCommand}" CommandParameter="{Binding}"/>
</core:EventTriggerBehavior>
</i:Interaction.Behaviors>
<Rectangle StrokeThickness="0.4" Height="0.4" x:Name="Separator"
VerticalAlignment="Bottom" HorizontalAlignment="Stretch" Stroke="#D1D3D4" />
<StackPanel Orientation="Horizontal" Grid.Row="1" HorizontalAlignment="Stretch">
<Image Source="{Binding Converter={StaticResource SelectContactStatusConverter}}" Margin="0,8,12,8"/>
<TextBlock Text="{Binding Converter={StaticResource EnumContactStatusToTextConverter}}" FontSize="20" VerticalAlignment="Center" Foreground="Black"/>
</StackPanel>
</Grid>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
Das ist eine gute Lösung. Aber ItemsControl hat keine Indexeigenschaft – JuP
Sie sprechen von einem ListView? In der PrepareContainerForItemOverride-Methode müssen Sie nur die IndexFromContainer-Methode aufrufen, um den Index für das aktuelle Element zu erhalten ... wenn es kein ListView ist, fügen Sie bitte einen Code/Xaml hinzu, damit wir sehen und nicht annehmen können .... – Depechie
I ' Ich spreche über ItemsControl – JuP