System.Windows.ni.dll中发生'System.Windows.Markup.XamlParseException'

时间:2013-09-08 06:00:21

标签: c# xaml windows-phone-8 wptoolkit

我的Windows Phone应用程序出现此错误:

  

类型的第一次机会异常   'System.Windows.Markup.XamlParseException'发生在   System.Windows.ni.dll

只有在我使用以下行在我的应用程序中安装并添加对WPtoolkit的引用后才会发生这种情况,

xmlns:toolkit="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone.Controls.Toolkit"

我在以下行收到错误

public MainPage()
{
    InitializeComponent();
}

可能是什么问题以及可能解决的问题是什么?


ApplicationPage

<phone:PhoneApplicationPage
    x:Class="AmazingCaller.MainPage"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:phone="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone"
    xmlns:shell="clr-namespace:Microsoft.Phone.Shell;assembly=Microsoft.Phone"
    xmlns:toolkit="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone.Controls.Toolkit"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"

    xmlns:MyApp="clr-namespace:AmazingCaller"

    mc:Ignorable="d"
    d:DataContext="{d:DesignData SampleData/MainViewModelSampleData.xaml}"
    FontFamily="{StaticResource PhoneFontFamilyNormal}"
    FontSize="{StaticResource PhoneFontSizeNormal}"
    Foreground="{StaticResource PhoneForegroundBrush}"
    SupportedOrientations="Portrait"  Orientation="Portrait"
    shell:SystemTray.IsVisible="True">

XAML

<ListBox x:Name="ContactResultsData" Tap="ContactResults_Tap_1" ItemsSource="{Binding}" Height="600" Loaded="ContactResultsData_Loaded_1" Margin="10,0">
    <ListBox.ItemTemplate>
        <DataTemplate>
            <StackPanel Orientation="Horizontal" Margin="0, 20, 0, 0">
                <Border BorderThickness="2" HorizontalAlignment="Left" VerticalAlignment="Center" BorderBrush="{StaticResource PhoneAccentBrush}" Margin="5, 0, 0, 0">
                    <Image Source="{Binding Converter={StaticResource ContactPictureConverter}}" Width="48" Height="48" Stretch="Fill"  />
                </Border>
                <TextBlock x:Name="ContactResults" Text="{Binding DisplayName, Mode=OneWay}" FontSize="{StaticResource PhoneFontSizeLarge}" Margin="10, 0, 0, 0" />
            </StackPanel>
            <toolkit:ContextMenuService.ContextMenu>
                <toolkit:ContextMenu>
                    <toolkit:MenuItem Header="Test">

                    </toolkit:MenuItem>
                </toolkit:ContextMenu>
            </toolkit:ContextMenuService.ContextMenu>
        </DataTemplate>
    </ListBox.ItemTemplate>
</ListBox>

1 个答案:

答案 0 :(得分:1)

这是一个有效的证据:

档案 - &gt;新项目 - &gt;新的数据绑定应用程序(wp8),这里是代码:

        <Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0">
            <ListBox x:Name="ContactResultsData" Tap="ContactResults_Tap_1" ItemsSource="{Binding Items}" Height="600" Loaded="ContactResultsData_Loaded_1" Margin="10,0">
                    <ListBox.ItemTemplate>
                        <DataTemplate>
                            <StackPanel Orientation="Horizontal" Margin="0, 20, 0, 0">
                                <Border BorderThickness="2" HorizontalAlignment="Left" VerticalAlignment="Center" BorderBrush="{StaticResource PhoneAccentBrush}" Margin="5, 0, 0, 0">
                                    <Image Width="48" Height="48" Stretch="Fill" Source="/Assets/Tiles/FlipCycleTileSmall.png"  />
                                </Border>
                                <TextBlock x:Name="ContactResults" Text="{Binding LineOne, Mode=OneWay}" FontSize="{StaticResource PhoneFontSizeLarge}" Margin="10, 0, 0, 0" />
                            </StackPanel>
                            <toolkit:ContextMenuService.ContextMenu>
                                <toolkit:ContextMenu>
                                    <toolkit:MenuItem Header="Test">

                                    </toolkit:MenuItem>
                                </toolkit:ContextMenu>
                            </toolkit:ContextMenuService.ContextMenu>
                        </DataTemplate>
                    </ListBox.ItemTemplate>
                </ListBox>
        </Grid>

确保方法ContactResults_Tap_1具有以下签名:

private void ContactResults_Tap_1(object sender, System.Windows.Input.GestureEventArgs gestureEventArgs)
{
}