Windows Phone - ListPicker将SelectedItem设置为null

时间:2013-03-24 18:59:05

标签: windows-phone-7 windows-phone-8 windows-phone silverlight-toolkit

我在Windows Phone 8应用中有一个页面,用户可以将项目链接到一个组(n:1)。通过Toolkit ListPicker控件选择该组。在ListPicker下面是一个取消链接按钮,用于删除项目之间的链接。

    <StackPanel x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0">
        <toolkit:ListPicker x:Name="GorupList"
                            Header="Background" 
                            ExpansionMode="FullscreenOnly" 
                            ItemsSource="{Binding}" 
                            SelectionChanged="GroupList_SelectionChanged">
            <toolkit:ListPicker.ItemTemplate>
                <DataTemplate>
                    <TextBlock Text="{Binding Name}" />
                </DataTemplate>
            </toolkit:ListPicker.ItemTemplate>
            <toolkit:ListPicker.FullModeItemTemplate>
                <DataTemplate>
                    <StackPanel Orientation="Horizontal" Margin="16 21 0 20">
                        <TextBlock Text="{Binding Name}"
                                   FontSize="43" 
                                   FontFamily="{StaticResource PhoneFontFamilyLight}"/>
                    </StackPanel>
                </DataTemplate>
            </toolkit:ListPicker.FullModeItemTemplate>
        </toolkit:ListPicker>
        <Button x:Name="UnlinkButton" Content="Unlink" Click="OnUnlink" />
    </StackPanel>

如果usere取消链接组中的项目,我想将ListPicker的SelectedItem设置为null(未选择任何组)。只是将SelectedItem设置为null或将SelectedIndex设置为-1不起作用(例外:设置有效值...)。

有人对这个问题有所了解吗?

//编辑:我正在寻找一种解决方法,而不是编译我自己的ListPicker控件。

1 个答案:

答案 0 :(得分:0)

如何放入初始字符串值<System:String>Choose Item...</System:String>,它也可以作为提示,然后您可以在代码GorupList.SelectedIndex = 0;中引用它,然后在选择后在代码后面忽略?

        <StackPanel x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0">
        <toolkit:ListPicker x:Name="GorupList"
                        Header="Background" 
                        SelectionChanged="GroupList_SelectionChanged">
            <toolkit:ListPicker.FullModeItemTemplate>
                <DataTemplate>
                    <StackPanel Orientation="Horizontal" Margin="16 21 0 20">
                        <TextBlock Text="{Binding Name}"
                               FontSize="43" 
                               FontFamily="{StaticResource PhoneFontFamilyLight}"/>
                    </StackPanel>
                </DataTemplate>
            </toolkit:ListPicker.FullModeItemTemplate>
            <System:String>Choose Item...</System:String>
        </toolkit:ListPicker>
        <Button x:Name="UnlinkButton" Content="Unlink" Click="OnUnlink" />
    </StackPanel>

非常正确:您能否抓住此解决方案PhoneApp5,看看它是否符合您的要求?然后,你或我可以发布代码(我的原样或你的改进)。