【发布时间】:2015-07-24 17:09:26
【问题描述】:
目前正在开发一个黑白棋游戏,这是板上石头的 ControlTemplate,我正在使用 DataTrigger 来查看石头的所有者是谁,以便将按钮设置为适当的图像,但是当我使用 TargetName 时二传手(到 imagebrush 至极是 imga)。我收到一个错误“找不到触发器目标'imga'。(目标必须出现在任何使用它的设置器、触发器或条件之前。)”
但是由于我在我的二传手之前宣布了这个画笔,这对我来说似乎真的很奇怪。此代码位于 app.xaml 资源中。
提前致谢
这是按钮的相关部分
<Style x:Key="0" TargetType="{x:Type Button}">
<Setter Property="Foreground" Value="White" />
<Setter Property="SnapsToDevicePixels" Value="True" />
<Setter Property="Height" Value="48"/>
<Setter Property="Width" Value="48" />
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type Button}">
<Ellipse>
<Ellipse.Fill x:Uid="filler">
<ImageBrush x:Name="imga" ImageSource="afbeeldingen/vuur.jpg"/>
</Ellipse.Fill>
</Ellipse>
<ControlTemplate.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Background" Value="#E59400" />
</Trigger>
<DataTrigger Binding="{Binding Owner.Value.ArrayIndex}" Value="0">
<DataTrigger.Setters>
<Setter TargetName="imga" Property="ImageSource" Value="afbeeldingen/vuur.jpg" />
</DataTrigger.Setters>
</DataTrigger>
【问题讨论】:
标签: wpf xaml controltemplate datatrigger