【发布时间】:2010-09-24 17:36:13
【问题描述】:
我有以下构造,它在 StackPanel 中显示了一个 DataBound ListBox 和一个 Button,它再次放置在 ScrollViewer 中:
<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>
我的问题是,Button 应该只在 ListBox 滚动到末尾时出现。单击 Button 后,会交换 ListBox 的内容,并且 Button 应该再次移动到 ListBox 的末尾...
我将如何做到这一点?
编辑: 我应该提一下,我也在实现一个 ItemTemplate。见下文:
<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>
【问题讨论】:
标签: .net silverlight visual-studio-2010 windows-phone-7