Silverlight AG_E_UNKOWN_ERROR Шаблон UserControl Apps.xml - PullRequest
2 голосов
/ 12 июня 2009

Я создал простой пользовательский контроль, и хотя приложение работает нормально, применяя шаблон к

Здесь я определяю шаблон управления

App.xaml

    <ControlTemplate x:Key="myWindowTemplate">
        <Grid x:Name="myGrid" Background="Black" Width="50" Height="50">
            <ContentPresenter Name="Content"></ContentPresenter>
        </Grid>
    </ControlTemplate>

</Application.Resources>

Мой пользовательский элемент управления

Test.xaml

<Grid x:Name="LayoutRoot">
    <Button Name="myButton" Template="{StaticResource myWindowTemplate}" Foreground="White" Content="CLICK" ></Button>
</Grid>

Моя страница, на которой используется пользовательский элемент управления, и страница, где встречается AG E UNKOWN_ERROR. Если я удаляю применение шаблона из test.xaml и удаляю Template = "{StaticResource myWindowTemplate}", ошибка исчезает, поэтому я знаю, что это что-то ПЛОХО в моем определении шаблона ???

MainPage.xaml

Width="Auto" Height="Auto" Name="mainPage"

xmlns: d = "http://schemas.microsoft.com/expression/blend/2008" xmlns: mc =" http://schemas.openxmlformats.org/markup-compatibility/2006" mc: Ignorable = "d" >

<Grid x:Name="LayoutRoot" Background="White" ShowGridLines="False" >
    <Grid.ColumnDefinitions>
        <ColumnDefinition Width="10"/>
        <ColumnDefinition Width="*"/>
        <ColumnDefinition Width="10"/>
    </Grid.ColumnDefinitions>
    <Grid.RowDefinitions>
        <RowDefinition Height="10"/>
        <RowDefinition Height="80"/>
        <RowDefinition Height="10"/>
        <RowDefinition Height="*"/>
        <RowDefinition Height="10"/>
    </Grid.RowDefinitions>

    <Border Grid.Column="1" Grid.Row="1" Height="Auto" VerticalAlignment="Top" CornerRadius="5">
        <Border.Background>
            <LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
                <GradientStop Color="#FFFFAA01"/>
                <GradientStop Color="#FFFD6900" Offset="1"/>
            </LinearGradientBrush>
        </Border.Background>
        <Grid x:Name="TopBannerGrid">
            <Grid.ColumnDefinitions>
                <ColumnDefinition Width="300"/>
                <ColumnDefinition Width="*"/>
                <ColumnDefinition Width="500"/>
            </Grid.ColumnDefinitions>
            <Grid.RowDefinitions>
                <RowDefinition Height="Auto"/>
            </Grid.RowDefinitions>

            <ResourcesCountDown:LogoControl Width="Auto" Height="Auto" Grid.ColumnSpan="2" Margin="5,0,0,0"/>
            <ResourcesCountDown:MenuControl Grid.Column="2" HorizontalAlignment="Right" x:Name="menu" Margin="0,-30,0,0"/>
        </Grid>
    </Border>

    <sliverlightControls:WrapPanel Width="900" Height="600" Grid.Column="1" Grid.Row="3" Orientation="Vertical" HorizontalAlignment="Left" VerticalAlignment="Top" >

        <ResourcesCountDown:noteControl Width="200" Height="200" headingText="Whats it about?" Margin="10"
            noteText="We have one planet with finite resources. This web site was created to try and express the resource consumption.">

        </ResourcesCountDown:noteControl>

        <ResourcesCountDown:noteControl Width="200" Height="200" headingText="Latest News" Margin="10"
            noteText="This week we have see some many new news in just a short time">                                    
          </ResourcesCountDown:noteControl>



        <ResourcesCountDown:RSSFeed Width="600" Height="200" Margin="10" headingText="Hot News"/>

        <ResourcesCountDown:datagridControl Width="600" Height="100" x:Name="theDataGrid" Margin="10" headingText="Stats" > </ResourcesCountDown:datagridControl>

        <ResourcesCountDown:Test></ResourcesCountDown:Test>        

    </sliverlightControls:WrapPanel>

</Grid>

Ответы [ 2 ]

0 голосов
/ 13 июня 2009

На самом деле, из кода, который вы разместили, ваш TargetType должен быть Button, потому что вы применяете шаблон к кнопке.

0 голосов
/ 12 июня 2009

Я думаю, вам нужен TargetType = "Grid" на вашем <ControlTemplate>:

<ControlTemplate x:Key="myWindowTemplate TargetType="Grid">

....

Кроме того, Grid не является ContentControl, поэтому я не думаю, что ContentPresenter, который вы вставили в шаблон, будет вести себя так, как вы ожидаете - это может даже вызвать ошибку.

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