2015-07-19 56 views
0

在升级到Wp8.1 silverlight后,我的列表选择器在运行时失败,此时执行InitializeComponent();将wp8升级到wp8.1 silverlight,初始化组件时出现Listpicker错误

WPtoolKit列表选择器来自哪里,已更新,但仍在我的解决方案中:\packages\WPtoolkit.4.2013.08.16\lib\wp8\Microsoft.Phone.Controls.Toolkit.dll

列表选择器显示在XAML设计视图和代码是:

xmlns:toolkit="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone.Controls.Toolkit" 
. 
. 
. 
<StackPanel Grid.Row="0" Grid.RowSpan="3" Orientation="Horizontal" > 
     <toolkit:ListPicker x:Name="LP_Map" Width="284" Template="{StaticResource ListPicker_ChooseCountry_CreateGame_test}" BorderBrush="#FF884900"> 
      <i:Interaction.Triggers> 
       <i:EventTrigger EventName="SelectionChanged"> 
        <cmd:EventToCommand Command="{Binding ChangeMapCommand}" CommandParameter="{Binding ElementName=LP_Map}"/> 
       </i:EventTrigger> 
      </i:Interaction.Triggers> 
      <toolkit:ListPickerItem Background="#FFAB7D33" Content="Europe1328WithWater" Foreground="Black" Style="{StaticResource ListPickerItem_CreateGame_ChooseCountry_test}" /> 
     </toolkit:ListPicker> 

     <toolkit:ListPicker x:Name="Player_LP" Width="150" SelectionChanged="SelChangedCommand" BorderBrush="#FF884900" Foreground="Black"> 
      <toolkit:ListPickerItem Background="#FFAB7D33" Content="2 Players" Foreground="Black" FontFamily="Andalus" /> 
      <toolkit:ListPickerItem Background="#FFAB7D33" Content="3 Players" FontFamily="Andalus" /> 
      <toolkit:ListPickerItem Background="#FFAB7D33" Content="4 Players" FontFamily="Andalus" /> 
     </toolkit:ListPicker> 
    </StackPanel> 

我不明白为什么我得到一个XAML解析错误,是不是我需要明确地更新或变更后重新定位解决方案?

注意 使用MVVMLight的EventToCommand不是问题,这已被更新为使用参数包。

回答

1

ComboBox在Windows Phone 8.1 Silverlight中不可用。

我正在使用WP phonetoolkit的最新版WP8.1 Silverlight解决方案。使用ListPicker没有问题。下面是例子:

xmlns:Local="clr-namespace:System.Windows.Interactivity;assembly=System.Windows.Interactivity" 

<toolkit:ListPicker 
        x:Name="MyListBox" 
        BorderBrush="{StaticResource AppBackground}" 
        Foreground="{StaticResource AppTextColor}" 
        ItemsSource="{Binding Categories}"> 
        <Local:Interaction.Triggers> 
         <Local:EventTrigger EventName="SelectionChanged"> 
          <Local:InvokeCommandAction Command="{Binding DataContext.OpenCategoryCMD, ElementName=LayoutRoot}" 
                CommandParameter="{Binding ElementName=MyListBox, Path=SelectedIndex}"/> 
         </Local:EventTrigger> 
        </Local:Interaction.Triggers> 
       </toolkit:ListPicker> 

并在视图模型:

private void OpenCategory(int categoryIndex) { ... } 
相关问题