Ich habe das folgende Konstrukt, das eine DataBound ListBox und eine Schaltfläche innerhalb eines StackPanels zeigt, das wiederum innerhalb eines ScrollViewers platziert ist:
<ScrollViewer VerticalScrollBarVisibility="Visible"
Height="400">
<StackPanel Orientation="Vertical"
MaxHeight="400">
<ListBox x:Name="LbTelEntries"
SelectionChanged="LbTelEntries_SelectionChanged"
MaxHeight="340"
VerticalAlignment="Top"
ItemsSource="{Binding Path=TelItems}">
<ListBox.ItemTemplate>
<DataTemplate>
<Templates:ListBoxItemTemplateSelector Content="{Binding}" />
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
<Button x:Name="BtMoreTelEntries"
Content="More Results"
Click="BtMoreTelEntries_Click"
Visibility="{Binding Path=NumberRemainingResults, Converter={StaticResource NullToVisConverter}}"
HorizontalAlignment="Center"
VerticalAlignment="Bottom"
Height="70"
Width="410"
Margin="0 0 0 0"
></Button>
</StackPanel>
</ScrollViewer>
Mein Problem ist, dass der Button erst erscheinen soll, wenn die ListBox bis zum Ende gescrollt ist. Sobald der Button angeklickt wird, wird der Inhalt der ListBox ausgetauscht und der Button soll wieder an das Ende der ListBox wandern...
Wie würde ich dies erreichen?
EDIT: Ich sollte erwähnen, dass ich auch ein ItemTemplate implementiere. Siehe unten:
<DataTemplate x:Key="ListBoxItemVmTemplate">
<Grid DataContext="{Binding}">
<StackPanel Orientation="Horizontal">
<Border x:Name="UpperListBoxTemplateBorder"
Height="42"
Width="44"
BorderBrush="White"
BorderThickness="2.5"
CornerRadius="100"
Margin="10,16,0,0"
VerticalAlignment="Top">
<Path x:Name="DataTemplatePath"
Height="16"
Width="11"
Fill="White"
Stretch="Fill"
Margin="4,0,0,0"
HorizontalAlignment="Center"
VerticalAlignment="Center"
UseLayoutRounding="False"
Data="M337.59924,129.61948 L337.59924,141.51501 L345.5704,135.87381 z" />
</Border>
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="40"></RowDefinition>
<RowDefinition Height="22"></RowDefinition>
</Grid.RowDefinitions>
<StackPanel Orientation="Horizontal"
Grid.Row="0">
<Controls:EllipsisTextBlock Text="{Binding DataModel.Title}"
MaxWidth="410"
Margin="18 12 0 0" />
</StackPanel>
<StackPanel Orientation="Horizontal"
Grid.Row="1">
<Controls:EllipsisTextBlock Text="{Binding DataModel.Street}"
FontSize="16"
MaxWidth="410"
Margin="18 -3 0 0" />
<Controls:EllipsisTextBlock Text="{Binding DataModel.ZipCode}"
FontSize="16"
MaxWidth="410"
Margin="18 -3 0 0" />
<Controls:EllipsisTextBlock Text="{Binding DataModel.City}"
FontSize="16"
MaxWidth="410"
Margin="18 -3 0 0" />
</StackPanel>
</Grid>
</StackPanel>
</Grid>
</DataTemplate>