Что не так с этим шаблоном Silverlight? - PullRequest
0 голосов
/ 23 марта 2009

Я играю с шаблонами в Silverlight 2.0. Я скопировал это ...

<Style x:Key="RoundButton">
    <Setter Property="Template">
        <Setter.Value>
            <ControlTemplate TargetType="Button">
                <Grid>
                    <Ellipse Width="200" Height="200">
                        <Ellipse.Fill>
                            <RadialGradientBrush GradientOrigin=".2,.2">
                                <GradientStop Offset="0.2" Color="White" />
                                <GradientStop Offset="1" Color="Blue" />
                            </RadialGradientBrush>
                        </Ellipse.Fill>
                    </Ellipse>

                    <TextBlock Text="Push me" FontSize="28" HorizontalAlignment="Center" VerticalAlignment="Center"/>
                </Grid>
            </ControlTemplate>
        </Setter.Value>
    </Setter>
</Style>

с веб-страницы на http://weblogs.asp.net/scottgu/pages/silverlight-tutorial-part-7-using-control-templates-to-customize-a-control-s-look-and-feel.aspx.

Я положил его в свой app.xaml и пока еще нигде не использовал. Когда я пытаюсь запустить свой код, я получаю сообщение об ошибке «Исключение типа System.ExecutionEngineException».

Что я сделал не так?

1 Ответ

1 голос
/ 23 марта 2009

Я считаю, что Silverlight требует атрибут TargetType. Если вы добавите TargetType = "Button" к элементу Style, он скомпилируется и выполнится без этого исключения.

РЕДАКТИРОВАТЬ: Да ... Я только что перешел по ссылке, которую вы разместили, и он имеет атрибут TargetType в своем примере кода. Добавьте это, и у вас все хорошо. Я создал простое тестовое приложение с этим элементом Style и кнопкой, и оно работало нормально.

...