我正在处理我的应用,我遇到了一个列表框问题(我知道我对XAML并不好):D
我实际上有一个RadListPicker(Telerik控件),我在我的一个页面中使用它,但我不喜欢弹出屏幕的布局与所有列表项,另一件困扰我的是当里面有很多物品时,向上和向下滚动以找到你正在寻找的物品真的很烦人。
所以我想我会添加一个JumpList而不是它。
这是我写的XAML(它只是一个带有布局的页面):
<!--JumpList Resources-->
<UserControl.Resources>
<!--Item template-->
<DataTemplate x:Key="ItemTemplate">
<StackPanel VerticalAlignment="Top">
<TextBlock FontFamily="{StaticResource PhoneFontFamilySemiLight}" FontSize="{StaticResource PhoneFontSizeExtraLarge}"
Margin="3,0,0,10" Text="{Binding Item}" />
</StackPanel>
</DataTemplate>
<!--Group Header-->
<DataTemplate x:Key="GroupHeaderTemplate">
<Border Background="Transparent" Padding="5">
<Border Background="{StaticResource PhoneAccentBrush}" BorderBrush="{StaticResource PhoneAccentBrush}" BorderThickness="2" Width="62"
Height="62" Margin="0,0,18,0" HorizontalAlignment="Left">
<TextBlock Text="{Binding Key}" Foreground="{StaticResource PhoneForegroundBrush}" FontSize="48" Padding="6"
FontFamily="{StaticResource PhoneFontFamilySemiLight}" HorizontalAlignment="Left" VerticalAlignment="Center"/>
</Border>
</Border>
</DataTemplate>
<!--Background-->
<Controls:JumpListItemBackgroundConverter x:Key="BackgroundConverter"/>
<Controls:JumpListItemForegroundConverter x:Key="ForegroundConverter"/>
<!--Jump List-->
<Style x:Key="JumpListTemplate" TargetType="Controls:LongListSelector">
<Setter Property="GridCellSize" Value="113,113"/>
<Setter Property="LayoutMode" Value="Grid" />
<Setter Property="ItemTemplate">
<Setter.Value>
<DataTemplate>
<Border Background="{Binding Converter={StaticResource BackgroundConverter}}" Width="113" Height="113" Margin="6" >
<TextBlock Text="{Binding Key}" FontFamily="{StaticResource PhoneFontFamilySemiBold}" FontSize="48" Padding="6"
Foreground="{Binding Converter={StaticResource ForegroundConverter}}" VerticalAlignment="Center"/>
</Border>
</DataTemplate>
</Setter.Value>
</Setter>
</Style>
</UserControl.Resources>
<Grid x:Name="LayoutRoot" Background="{StaticResource PhoneChromeBrush}">
<Grid.RowDefinitions>
<RowDefinition Height="100" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="20" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<TextBlock Grid.Row="0" Grid.Column="1" Text="JumpList" VerticalAlignment="Bottom" Margin="5,0,0,20"
FontSize="{StaticResource PhoneFontSizeLarge}"/>
<Controls:LongListSelector
x:Name="LongJumpList"
JumpListStyle="{StaticResource JumpListTemplate}"
Background="Transparent"
GroupHeaderTemplate="{StaticResource GroupHeaderTemplate}"
ItemTemplate="{StaticResource ItemTemplate}"
LayoutMode="List"
IsGroupingEnabled="true"
HideEmptyGroups ="true"
Grid.Row="1" Grid.RowSpan="1"
Grid.Column="1" Grid.ColumnSpan="1"/>
</Grid>
在另一页中,我补充道:
<local:JumpListControl x:Name="myUserControl" Opacity="0"/>
现在,我想创建一个按钮并为显示带有jumpList的页面的点击添加一个事件处理程序,而不是使用listPicker,然后当用户选择列表中的一个项目时页面关闭。
我不想导航到另一个页面,我希望它是一个动画弹出窗口,就像使用listPicker一样。 我怎样才能做到这一点?我创建了一个按钮,而不是将控件的不透明度从0更改为1,反之亦然,但我注意到用户控件不起作用,它只是显示,我仍然可以看到它下面的其他页面。 我错过了什么?
感谢您的帮助! :)
塞尔吉奥