【问题标题】:Windows Phone Toolkit How to get full Popup ListPicker?Windows Phone Toolkit 如何获得完整的 Popup ListPicker?
【发布时间】:2013-06-04 17:50:16
【问题描述】:

我想知道您是如何做到的,以便列表选择器在单击时转到单独的屏幕?

我试过了

    <toolkit:ListPicker  Margin="155,109,179,0" VerticalAlignment="Top" ItemTemplate="{StaticResource PriceTypesTemplate1}" ItemsSource="{Binding PriceTypes}" FullModeItemTemplate="{StaticResource PickerFullModeItemTemplate}"/>

但这会使应用程序崩溃,说它找不到PickerFullModeItemTemplate

【问题讨论】:

    标签: windows-phone-7 silverlight-toolkit


    【解决方案1】:

    您是否提供了名为 PickerFullModeItemTemplate 的资源?

    您的代码为每个状态(ItemTemplate 和 FullModeItemTemplate)指定了两个单独的自定义模板。这是一个非常基本的示例。

    c#

    public class Cities
    {
        public string Name { get; set; }
        public string Country { get; set; }
        public string Language { get; set; }
    }
    List<Cities> source = new List<Cities>();
    source.Add(new Cities() { Name = "Madrid", Country = "ES", Language = "Spanish" });
    source.Add(new Cities() { Name = "Las Vegas", Country = "US", Language = "English" });
    source.Add(new Cities() { Name = "London", Country = "UK", Language = "English" });
    source.Add(new Cities() { Name = "Mexico", Country = "MX", Language = "Spanish" });
    this.listPicker.ItemsSource = source;
    

    xaml

    <Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0">
            <Grid.Resources>
                <DataTemplate x:Name="PickerItemTemplate">
                    <StackPanel Orientation="Horizontal">
                        <Border Background="LightGreen" Width="34" Height="34">
                            <TextBlock Text="{Binding Country}" FontSize="16" HorizontalAlignment="Center" VerticalAlignment="Center"/>
                        </Border>
                        <TextBlock Text="{Binding Name}" Margin="12 0 0 0"/>
                    </StackPanel>
                </DataTemplate>
                <DataTemplate x:Name="PickerFullModeItemTemplate">
                    <StackPanel Orientation="Horizontal" Margin="16 21 0 20">
                        <TextBlock Text="{Binding Name}" Margin="16 0 0 0" FontSize="43" FontFamily="{StaticResource PhoneFontFamilyLight}"/>
                        <TextBlock Text="language: "/>
                        <TextBlock Text="{Binding Language}" Foreground="Green"/>
                    </StackPanel>
                </DataTemplate>
            </Grid.Resources>
    
            <toolkit:ListPicker ExpansionMode="FullScreenOnly"  x:Name="listPicker" ItemTemplate="{StaticResource PickerItemTemplate}"    FullModeItemTemplate="{StaticResource PickerFullModeItemTemplate}"  Header="Cities" FullModeHeader="Cities"  CacheMode="BitmapCache"/>
        </Grid>
    

    如果您不想使用自定义模板,则可以使用带有默认字符串的简单字符串列表

    <toolkit:ListPicker ExpansionMode="FullScreenOnly"  x:Name="listPicker" Header="Header" FullModeHeader="Full mode Header"  CacheMode="BitmapCache"/>
    

    【讨论】:

    • 感谢默认模式是我正在寻找的。似乎有点延迟,但不确定这是否只是因为模拟器。
    • 另外,在使用默认值时,如何使全屏模式的默认文本更大。
    • 不确定,有一个内置属性。也许你可以申请一个新的 HeaderTemplate ?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多