Windows phone 7 Windows Phone Toolkit如何获取完整的弹出列表选择器?

Windows phone 7 Windows Phone Toolkit如何获取完整的弹出列表选择器?,windows-phone-7,silverlight-toolkit,Windows Phone 7,Silverlight Toolkit,我想知道你是如何使列表选择器在点击时进入一个单独的屏幕的 我试过了 <toolkit:ListPicker Margin="155,109,179,0" VerticalAlignment="Top" ItemTemplate="{StaticResource PriceTypesTemplate1}" ItemsSource="{Binding PriceTypes}" FullModeItemTemplate="{StaticResource PickerFullModeIt

我想知道你是如何使列表选择器在点击时进入一个单独的屏幕的

我试过了

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


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

您是否提供了名为
PickerFullModeItemTemplate
的ressource

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

c#

公共级城市
{
公共字符串名称{get;set;}
公共字符串国家{get;set;}
公共字符串语言{get;set;}
}
列表源=新列表();
source.Add(新城市(){Name=“马德里”,Country=“ES”,Language=“西班牙语”});
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=“西班牙语”});
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"/>

您是否提供了名为
PickerFullModeItemTemplate
的ressource

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

c#

公共级城市
{
公共字符串名称{get;set;}
公共字符串国家{get;set;}
公共字符串语言{get;set;}
}
列表源=新列表();
source.Add(新城市(){Name=“马德里”,Country=“ES”,Language=“西班牙语”});
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=“西班牙语”});
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?谢谢默认模式正是我想要的。似乎有点延迟,但不确定这是否只是因为模拟器。另外,在使用默认值时,如何使全屏模式的默认文本变大。不确定,有一个内置属性。也许你可以申请一个新的校长职位?