0

我正在阅读一本 wp7 的初学者书籍,并且在其中一个基本教程中我遇到了一个未知的异常。

应用程序资源(App.xaml)文件中定义的控制模板如下。

<Application.Resources>
    <Style x:Key="CustomButtonStyle" TargetType="Button">
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate>
                    <Border Width="{TemplateBinding Width}" Height="{TemplateBinding Height}" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}">
                        <StackPanel>
                            <Image Source="Images\image.png" Width="200" Height="300" />
                            <TextBlock Text="{TemplateBinding Content}" TextAlignment="Center" />
                        </StackPanel>
                    </Border>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>
</Application.Resources>

然后当我创建一个使用这个模板的按钮时,例如

<Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0">
            <Button x:Name="CustomButton" Width="250" Height="350" Content="Custom Button" Style="{StaticResource CustomButtonStyle}" />
        </Grid>

我总是得到一个未知的异常。我已经把它缩小到

Text="{TemplateBinding Content}"

但是控件模板中的属性,为什么会出现异常?我在那里有内容,它是字符串格式的。不知道还有什么可能?当我创建一个项目时,我的目标是 Windows Phone 7.1。有什么我不知道的变化吗?任何帮助表示赞赏。谢谢乔

4

1 回答 1

1

更改<TextBlock Text="{TemplateBinding Content}" TextAlignment="Center" /><ContentPresenter HorizontalAlignment="Center" />

           <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate>
                    <Border Width="{TemplateBinding Width}"
                            Height="{TemplateBinding Height}"
                            BorderBrush="{TemplateBinding BorderBrush}"
                            BorderThickness="{TemplateBinding BorderThickness}">
                        <StackPanel>
                            <Image Width="200"
                                   Height="300"
                                   Source="Images\image.png" />
                            <ContentPresenter HorizontalAlignment="Center" />
                        </StackPanel>
                    </Border>
                </ControlTemplate>
            </Setter.Value>
        </Setter>

关于 ContentControls 的一些细节

于 2012-04-30T10:32:21.347 回答