Xaml 修改ListPicker的全屏设计

Xaml 修改ListPicker的全屏设计,xaml,windows-phone-7.1,silverlight-toolkit,windows-phone-7,Xaml,Windows Phone 7.1,Silverlight Toolkit,Windows Phone 7,我使用WP7已经有一段时间了,我大量使用listPicker/DatePicker。但我讨厌它的设计。我使用liskPicker的属性ExpansionMode=“FullScreenOnly”。我试着让那些控件看起来更漂亮 //将源设置为FullModeItemTemplate FullModeItemTemplate=“{StaticResource lpkFullItemTemplate}” //该资源的定义如下: <DataTemplate x:Name="lpkFullItemT

我使用WP7已经有一段时间了,我大量使用listPicker/DatePicker。但我讨厌它的设计。我使用liskPicker的属性ExpansionMode=“FullScreenOnly”。我试着让那些控件看起来更漂亮

//将源设置为FullModeItemTemplate
FullModeItemTemplate=“{StaticResource lpkFullItemTemplate}”

//该资源的定义如下:

<DataTemplate x:Name="lpkFullItemTemplate">
<StackPanel Orientation="Horizontal" Margin="5 5 5 5" Background="#FFA3A3A3" 
  Width="475" Height="45" >
<TextBlock Text="{Binding}"  Foreground="Black" Margin="5 5 15 5"  />
</StackPanel>
</DataTemplate>


我需要真正的改变,改变弹出窗口的背景和这样的改变,这是可能的吗?或者我需要从头开始构建自己的弹出窗口?

为此,您必须从应用程序中的Silverlight for Windows Phone工具包中创建文件副本,并将其更改以满足您的要求,然后在ListPicker控件上,将PickerPageUri设置为新的ListPickerPage.xaml。我想改进Pedro的答案,但我仍然无法发表评论。你可以看到有人在上面提问


为了复制
ListPickerPage
您需要
ListPickerPage.xaml
ListPickerPage.xaml.cs
文件。如果要编译这些文件,需要在和
VisualTreeExtensions.cs
上定义一些扩展方法。您可以复制这三个文件,也可以选择所需的方法并将它们添加到您自己的文件中。

对不起,但是。。。如何真正做到这一点?我的意思是,我将ListPickerPage.xaml复制到我的项目中,但它需要相应的编码.xaml.cs(OnPickerTapped事件处理程序)。所以我也添加了它,但是由于缺少或无法访问的引用,出现了很多警告和错误。我和Felipe处境相同。我看到到处都写着“复制它”,但我不知道怎么写。我复制了xaml,甚至复制了xaml.cs文件,但如果不真正分解和重新创建功能,我就无法实现这一点,因为代码引用了大量内部字段的引用。我猜ListPicker可能会传递某种引用给它自己,所以当用户选择一个项目时,你必须伪造足够多的ListPickerPage来操纵ListPicker?但我不确定。我知道你说的是必要的,但就像我在其他帖子上说的那样,这是不够的。我还是没能让它发挥作用。是,新修改的全屏页面正常打开,没有异常,但所有内容都设置为空。。没有项目,没有标题..没有。啊,是的,有一个问题,如中所述。最后,我不得不将ListPicker控制代码复制到我的项目中。