ошибка «неверный xaml» в конструкторе - PullRequest
1 голос
/ 20 февраля 2012

Я пытаюсь использовать список для отображения пользовательского UserControl. До недавнего времени все работало нормально, я начал получать сообщение об ошибке «неверный xaml» и больше не могу обновить представление «Дизайн».

Ошибка не удерживает приложение от компиляции и запуска.

Я перепробовал все, что мог придумать. Я создал тестовый элемент управления и тестовую страницу с нуля и получаю сообщение об ошибке только тогда, когда помещаю элемент управления в шаблон данных. Я могу поместить любой стандартный элемент управления в шаблон данных без ошибок. только ошибки в пользовательском контроле пользователя.

вот эта страница:

<phone:PhoneApplicationPage
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:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:WP7ListBoxSelectedItemStyle"
xmlns:my="clr-namespace:testproject.Controls"
xmlns:toolkit="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone.Controls.Toolkit"
x:Class="WP7ListBoxSelectedItemStyle.TestPage"
mc:Ignorable="d" d:DesignWidth="480" d:DesignHeight="768"
FontFamily="{StaticResource PhoneFontFamilyNormal}"
FontSize="{StaticResource PhoneFontSizeNormal}"
Foreground="{StaticResource PhoneForegroundBrush}"
SupportedOrientations="Portrait" Orientation="Portrait"
shell:SystemTray.IsVisible="True">

<Grid x:Name="LayoutRoot" Background="Transparent">
    <Grid x:Name="ContentPanel" Grid.Row="1" Margin="8,17,16,-17">
        <ListBox  Name="lb_test"
                        Margin="0,0,0,0">
            <ListBox.ItemTemplate>
                <DataTemplate>
                    <Grid>
                        <my:Test1></my:Test1>
                    </Grid>
                </DataTemplate>
            </ListBox.ItemTemplate>
        </ListBox>
    </Grid>
</Grid>

и вот пользовательский контроль (без добавленного кода в коде):

<UserControl x:Class="testproject.Controls.Test1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d"
FontFamily="{StaticResource PhoneFontFamilyNormal}"
FontSize="{StaticResource PhoneFontSizeNormal}"
Foreground="{StaticResource PhoneForegroundBrush}"
Height="80" Width="80">

<Grid x:Name="LayoutRoot">

</Grid>
</UserControl>

Ответы [ 2 ]

1 голос
/ 22 февраля 2012

Хорошо, я понял это на основе этого поста

http://forums.silverlight.net/post/618518.aspx

Не могу поверить, что добавил пробел к названию моей сборки.ARG!

0 голосов
/ 21 февраля 2012
  1. Иногда это вызвано отсутствием ресурсов.
  2. Также отсутствует тег .

попробовать:

<UserControl x:Class="testproject.Controls.Test1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d"
Height="80" Width="80">

  <Grid x:Name="LayoutRoot">

  </Grid>
</UserControl>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...