【发布时间】:2018-08-18 16:34:29
【问题描述】:
所以我刚刚创建了一个带有故事板动画的自定义控件。
而启动动画的事件触发器是这样的
<EventTrigger RoutedEvent="MouseDown">
<BeginStoryboard>
<Storyboard>
<ColorAnimation
Storyboard.TargetName="SelectedBorder"
Storyboard.TargetProperty="(Panel.Background).(SolidColorBrush.Color)"
To="#00C8FC" Duration="0:0:0.25">
</ColorAnimation>
</Storyboard>
</BeginStoryboard>
</EventTrigger>
如您所见,在MouseDown 事件中,我正在更改边框的颜色,就是这样。
点击它并改变颜色后,假设我点击了另一个控件。 在这种情况下,我想将最近边框的背景设置为白色。 目前它正在改变表单上每个控件实例的边框颜色。
我需要能够以某种方式在每次点击时使用 XAML 重置颜色。 画这个。。 我单击一个按钮,边框变为蓝色。 我单击另一个按钮(相同类型),那个按钮变成蓝色,而按钮一个重置为白色。
现在就像 我点击一个按钮,它变成蓝色。 我点击另一个,它也变成蓝色,但旧的保持蓝色。
【问题讨论】:
-
您想保留它直到单击另一个按钮,还是只在每个按钮上按下鼠标按钮?
-
我希望它是蓝色的,直到我点击另一个按钮
-
那你的方法是错误的。您应该改用 RadioButtons。创建和使用 RadioButton 样式和模板。
-
啊!好想法
-
您可能还想看看视觉状态。见这里:docs.microsoft.com/en-us/dotnet/framework/wpf/controls/…