Xaml 模板化按钮的背景
我有一个如下所示的自定义按钮,我想在按下状态下更改文本颜色和图像源Xaml 模板化按钮的背景,xaml,windows-phone,Xaml,Windows Phone,我有一个如下所示的自定义按钮,我想在按下状态下更改文本颜色和图像源 <Button Background="#FFC17C7C" Style="{StaticResource CustomButton}"> <StackPanel HorizontalAlignment="Center" VerticalAlignment="Center" Orientation="Horizontal"> <TextBlo
<Button Background="#FFC17C7C" Style="{StaticResource CustomButton}">
<StackPanel HorizontalAlignment="Center"
VerticalAlignment="Center" Orientation="Horizontal">
<TextBlock VerticalAlignment="Center" Text="hello" />
<Image Source="Background.png" />
</StackPanel>
</Button>
如果您能为我提供一个简单的示例或有用的链接来解决此类问题,我将不胜感激。首先,您不能更改这样一个按钮的内容来源。您必须重新定义按钮的模板,并将图像命名为类似PART_image的名称,以便可以从VisualState访问它 现在,如果您希望能够直接在XAML中而不是在模板中指定这两个背景,则需要在“插入自”按钮中实现自定义UserControl 但是如果你不这样做,你可以简单地用一个图像笔刷来绘制背景
<ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Background" Storyboard.TargetName="ButtonBackground">
<DiscreteObjectKeyFrame KeyTime="0">
<DiscreteObjectKeyFrame.Value>
<ImageBrush ImageSource="Pressed.png" />
</DiscreteObjectKeyFrame.Value>
</DiscreteObjectKeyFrame>
</ObjectAnimationUsingKeyFrames>
然后,同样地,如果您还需要非按下状态的图像,请更改按钮定义
<Button Style="{StaticResource CustomButton}">
<Button.Background>
<ImageBrush ImageSource="NotPressed.png" />
</Button.Background>
<Button.Content>
<StackPanel HorizontalAlignment="Center" VerticalAlignment="Center" Orientation="Horizontal">
<TextBlock VerticalAlignment="Center" Text="hello" />
</StackPanel>
</Button.Content>
</Button>
这与您的上一个问题有何不同?有一点,他现在问的是如何做模板,而不是可视化状态如何工作。谢谢你,克劳斯。如果我想详细了解这些工具,我应该从哪里开始?MSDN?这是基本的XAML内容。每个入门教程都会教你一些东西。我想你应该买一本关于XAML的书。