标签: listpicker

未使用Windows Phone 8 Listpicker ItemTemplate

我在一个页面中有一个Listpicker控件,我绑定了一些项目,我正在尝试更改项目模板.

我的模板看起来如下:

<phone:PhoneApplicationPage.Resources>
    <DataTemplate x:Name="modulePickerFullItemTemplate">
        <StackPanel>
            <TextBlock Text="{Binding modes}"/>
        </StackPanel>
    </DataTemplate>
    <DataTemplate x:Name="modulePickerItemTemplate">
        <StackPanel Orientation="Horizontal">
            <TextBlock Text="LALA" Foreground="#333"/>
            </StackPanel>
        </DataTemplate>
</phone:PhoneApplicationPage.Resources>
Run Code Online (Sandbox Code Playgroud)

Listpicker:

<toolkit:ListPicker x:Name="ddlMode" Grid.Row="6" ExpansionMode="FullScreenOnly"
                    FullModeItemTemplate="{Binding modulePickerFullItemTemplate}" 
                    ItemTemplate="{Binding modulePickerItemTemplate}"  
                    FullModeHeader="Select mode">
</toolkit:ListPicker>
Run Code Online (Sandbox Code Playgroud)

我在项目中看到的是我与Listpicker绑定的值,而不是我期望的LALA值.

我做错了什么?

listpicker windows-phone-8

2
推荐指数
1
解决办法
3692
查看次数

ListPicker显示对象名称而不是属性

在我的模型中,我有课:

public class Heaviness
{
    public int ID {get; set;}
    public string NameToDisplay {get; set;}
}
Run Code Online (Sandbox Code Playgroud)

在我的视图模型中,我有一个属性HeavinessList:

public ObservableCollection<Heaviness> HeavinessList {get;set;}
Run Code Online (Sandbox Code Playgroud)

在我的xaml中,我添加了ListPicker,项目源绑定到HeavinessList; item的数据模板绑定到Heaviness对象的NameToDisplay属性.

<StackPanel x:Name="HeavinessGroup" Width="220" HorizontalAlignment="Left">
    <TextBlock x:Name="HeavinesLabel" Margin="12,0,0,0" TextWrapping="Wrap" 
               Text="Heaviness:" HorizontalAlignment="Left"/>
    <toolkit:ListPicker x:Name="HeavinessListPicker" 
                        SelectedIndex="0"
                        ItemsSource="{Binding HeavinessList}"
                        VerticalAlignment="Center">
        <DataTemplate>
            <TextBlock Text="{Binding NameToDisplay}" />
        </DataTemplate>
    </toolkit:ListPicker>
</StackPanel>
Run Code Online (Sandbox Code Playgroud)

但是,当我运行应用程序时,我显示的是对象名称,而不是属性.为什么会这样?

data-binding windows-phone-7 listpicker

1
推荐指数
1
解决办法
2228
查看次数

将selecteditem设置为listpicker

XAML

 <DataTemplate x:Name="PickTmplItemTipo">
            <StackPanel Orientation="Horizontal">               
                <TextBlock Text="{Binding tipo}" />                
            </StackPanel>
        </DataTemplate>

        <DataTemplate x:Name="PickTmplFullTipo">            
            <StackPanel Orientation="Horizontal" Margin="0,25,0,0">
                <TextBlock Name="lblTipo" Width="350" Text="{Binding tipo}" FontFamily="{StaticResource PhoneFontFamilyLight}" TextWrapping="Wrap" FontSize="{StaticResource PhoneFontSizeExtraLarge}" />
            </StackPanel>
        </DataTemplate>


<toolkit:ListPicker    
         Grid.Row="0"
         ItemsSource="{Binding}" Margin="21,0,22,0" 
         Header="{Binding Source={StaticResource LocalizedStrings}, Path=Localizedresources.strTipoUni}" 
         FullModeHeader="{Binding Source={StaticResource LocalizedStrings}, Path=Localizedresources.strTipoUni}" 
         FullModeItemTemplate="{Binding Source={StaticResource PickTmplFullTipo}}" 
         ItemTemplate="{Binding Source={StaticResource PickTmplItemTipo}}" 
         Name="lPickTipo" 
         TabIndex="0" 
         Height="98" 
         VerticalAlignment="Top" 
         ExpansionMode="FullScreenOnly" 
         Tap="lPickTipo_Tap" 
         SelectionChanged="lPickTipo_SelectionChanged" />
Run Code Online (Sandbox Code Playgroud)

C#

填写listpicker:

    List<tipos> _lstTipos { get; set; }
    private void cargaLista()
    {
        using (serviciosDBDataContext miDataContext = new serviciosDBDataContext(conn))
        {
            _lstTipos = miDataContext.tipos.ToList();
        }

        this.lPickTipo.ItemsSource = …
Run Code Online (Sandbox Code Playgroud)

selecteditem windows-phone-7 listpicker

1
推荐指数
1
解决办法
3558
查看次数

如何从Windows Phone 8中的listpicker获取所选项目?

我在windows手机中使用此代码创建listpicker.

<StackPanel Height="148" Margin="0,100,0,0">
   <toolkit:ListPicker Grid.Row="0" FontFamily="Segoe WP Semibold" Height="176" x:Name="Additional_Time" ItemTemplate="{StaticResource PickerItemTemplate}" FullModeItemTemplate="{StaticResource PickerFullModeItemTemplate}" FullModeHeader="Cities" SelectedIndex="0" CacheMode="BitmapCache" Header="Choose Exit Time" FontSize="30" SelectionChanged="Additional_Time_SelectionChanged"/>
</StackPanel>
Run Code Online (Sandbox Code Playgroud)

并使用此网格资源

<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="{Binding Language}" Foreground="Green"/>
            </StackPanel>
        </DataTemplate>
    </Grid.Resources>
Run Code Online (Sandbox Code Playgroud)

下面的代码用于将项目插入到listpicker中

List<Cities> source = new …
Run Code Online (Sandbox Code Playgroud)

selectionchanged listpicker windows-phone-8

1
推荐指数
1
解决办法
4541
查看次数

在WP7中如何强制ListPicker以完整模式显示(或发送一个水龙头)?

我需要以编程方式强制(WP7工具包)ListPicker以完整模式显示其列表.我该怎么做(或如何发送点击手势或点击间接做同样的事情)?谢谢!

windows-phone-7 listpicker

0
推荐指数
1
解决办法
1295
查看次数