【问题标题】:How to remove the ListPicker Header in Windows Phone 7 toolkit control?如何删除 Windows Phone 7 工具包控件中的 ListPicker 标头?
【发布时间】:2012-01-13 07:35:54
【问题描述】:
有没有什么方法可以完全去除Windows Phone 7 控制工具包ListPicker 中的header?例如,设置标题高度大小 = 0 或类似的东西?
在我的应用程序中,我想删除标题以减少列表选择器占用的空间。我将在列表选择器中使用描述性文本代替默认选定项目(当然还有一个有效值)。我已经解决了那部分。
提前感谢您的帮助!
【问题讨论】:
标签:
windows-phone-7.1
windows-phone-7
windows-phone
【解决方案1】:
从这里下载源代码:
http://silverlight.codeplex.com/SourceControl/changeset/changes/71382
打开 ListPickerPage.xaml (Microsoft.Phone.Controls.Toolkit -> ListPicker)
找到这段代码:
<!-- Header Title -->
<TextBlock
x:Name="HeaderTitle"
Grid.Row="0"
FontFamily="{StaticResource PhoneFontFamilySemiBold}"
FontSize="{StaticResource PhoneFontSizeMedium}"
Foreground="{StaticResource PhoneForegroundBrush}" Visibility="Collapsed"
Margin="24 12 12 12">
<TextBlock.Projection>
<PlaneProjection RotationX="-90"/>
</TextBlock.Projection>
</TextBlock>
请注意,可见性现在设置为折叠
然后,在它下面找到 ListBox 代码
<!-- List of Items -->
<ListBox
x:Name="Picker"
Grid.Row="1"
ItemsSource="{Binding}"
Opacity="0"
toolkit:TiltEffect.IsTiltEnabled="True"
Margin="24 -24 0 0"
Tap="OnPickerTapped"/>
</Grid>
请注意,我将此处的边距更改为 -24。
弄乱它,直到找到所需的外观。确保您的应用使用在构建 Silverlight Toolkit 项目时创建的 DLL。
可能有更好的方法。例如,您可以创建自己的PickerPageUri。
但是,我不完全确定以这种方式修改 UI 以实现另外 40 像素的空间是否真的值得打破 WP7 范式。但无论如何,你的选择。