我在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控件。
答案 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,看看它是否符合您的要求?然后,你或我可以发布代码(我的原样或你的改进)。