每当我尝试使用ToggleButton上的触发器更改路径填充时,我都会遇到奇怪的崩溃。在做了一些消除过程后,似乎实际的触发器属性导致程序崩溃。
当它崩溃时我得到了这个:
问题签名:
问题事件名称:CLR20r3
问题签名01:briantestwpf.exe
问题签名02:1.0.0.0
问题签名03:54de1f87
问题签名04:PresentationFramework
问题签名05:4.0.30319.18408
问题签名06:52312f13
问题签名07:65f2
问题签名08:5e
问题签名09:System.Windows.Markup.XamlParse
操作系统版本:6.1.7601.2.1.0.256.4
地区ID:1033
附加信息1:0a9e
附加信息2:0a9e372d3b4ad19135b953a78882e789
附加信息3:0a9e
附加信息4:0a9e372d3b4ad19135b953a78882e789
这是有问题的代码,因为我试图弄乱这个概念,所以没什么特别的。我的项目主管也对此感到困惑。
<ToggleButton Background="Transparent" BorderThickness="1" BorderBrush="Transparent" Canvas.Left="410" Canvas.Top="384" Height="41" Width="81">
<Canvas>
<Path x:Name="Arrow"
Width="32"
Data="M0,0 L0,2 L4,6 L8,2 L0,2 "
Fill="#FF827F96" Canvas.Left="0" Canvas.Top="-15" Stretch="Fill" Height="29" />
</Canvas>
<ToggleButton.Triggers>
<Trigger Property="UIElement.IsMouseOver" Value="True">
<Setter TargetName="Arrow" Property="Path.Fill" Value="GhostWhite"/>
</Trigger>
</ToggleButton.Triggers>
</ToggleButton>
非常感谢!
答案 0 :(得分:0)
试试这个 -
<ToggleButton Background="Transparent" BorderThickness="1" BorderBrush="Transparent" Canvas.Left="410" Canvas.Top="384" Height="41" Width="81">
<Canvas>
<Path x:Name="Arrow" Width="32" Data="M0,0 L0,2 L4,6 L8,2 L0,2 " Fill="#FF827F96" Canvas.Left="0" Canvas.Top="-15" Stretch="Fill" Height="29" >
<Path.Style>
<Style TargetType="Path">
<Style.Triggers>
<DataTrigger Binding="{Binding Path=IsMouseOver, RelativeSource={RelativeSource AncestorType={x:Type ToggleButton}}}" Value="True">
<Setter Property="Stroke" Value="GhostWhite"/>
</DataTrigger>
</Style.Triggers>
</Style>
</Path.Style>
</Path>
</Canvas>
</ToggleButton>