Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 为什么是&书信电报;ControlTemplate.Triggers>&引用;无法识别或访问?_C#_Wpf_Xaml - Fatal编程技术网

C# 为什么是&书信电报;ControlTemplate.Triggers>&引用;无法识别或访问?

C# 为什么是&书信电报;ControlTemplate.Triggers>&引用;无法识别或访问?,c#,wpf,xaml,C#,Wpf,Xaml,我想更改某些按钮单击时的样式(IsPressed)(例如,将BorderThickness更改为1,1,0)。我已尝试,但出现错误:“无法识别或访问成员“触发器”。 这是我得到的代码: <UserControl <!-- ... --> > <UserControl.Resources> <Style TargetType="Button"> <Setter Property="Template">

我想更改某些按钮单击时的样式(
IsPressed
)(例如,将
BorderThickness
更改为
1,1,0
)。我已尝试
,但出现错误:“无法识别或访问成员“触发器”。
这是我得到的代码:

<UserControl
<!-- ... -->
>
<UserControl.Resources>
    <Style TargetType="Button">
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="Button">
                    <Border Name="border" Background="LightGray" BorderThickness="2, 2, 2, 1" BorderBrush="Black" CornerRadius="5,5,0,0">
                        <ContentPresenter VerticalAlignment="Center" HorizontalAlignment="Center" />
                    </Border>
                <ControlTemplate.Triggers> <!-- Here is the error -->
                        <Trigger Property="Button.IsPressed" Value="True">
                            <Setter TargetName="border" Property="BorderThickness" Value="2, 2, 2, 0" />
                        </Trigger>
                    </ControlTemplate.Triggers>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>

</UserControl.Resources>

<Grid x:Name="LayoutRoot" Background="White">
    <!-- some definitions --> 
    <Button Grid.Column="0" Content="1" />
    <Button Grid.Column="1" Content="2" />
    <Button Grid.Column="2" Content="3" />
</Grid>

单击按钮并应用样式时,如何处理样式更改


编辑:用代码填充“/…”

无法识别或访问它,因为Silverlight不支持它。请参阅本MSDN文章:

WPF或Silverlight?Silverlight不支持
ControlTemplate
触发器,您必须使用
VisualStateManager
..@minimen来使用
VisualStateManager
设置
BorderThickness
的动画,您需要
ThicknessAnimation
,不幸的是Silverlight甚至没有that@dkozl没有别的办法吗?我想用纯正的语言来处理这个问题XAML@RoelvanWesterop我正在使用WPF,有什么办法可以实现吗?@RoelvanWesterop为什么
ControlTemplate.Triggers
对其他人有效,但对我无效,和