【发布时间】:2014-11-06 00:23:16
【问题描述】:
我的按钮中有 Path 元素,我希望它在按下按钮时改变颜色。绑定到前台属性似乎不起作用。简化代码如下,特别重要的是这一点:Fill="{Binding Foreground, ElementName=SwitchLanguages}" on Path 元素。我确信有一种简单的方法可以做到这一点,但由于某种原因我找不到它。
<Button
Name="SwitchLanguages"
Background="WhiteSmoke">
<Canvas
Width="46.5"
Height="44"
Clip="F1 M 0,0L 76,0L 76,76L 0,76L 0,0">
<Path
Width="46.4999"
Height="44"
Canvas.Left="0"
Canvas.Top="0"
Stretch="Fill"
Fill="{Binding Foreground, ElementName=SwitchLanguages}"
Data="F1 M 22,52.0001L 22,44.0001L 46.75,44.0001L 38.75,36L 49.25,36L 61.25,48.0001L 49.25,60L 38.75,60L 46.75,52.0001L 22,52.0001 Z M 54,23.9999L 54,31.9999L 29.25,31.9999L 37.25,40L 26.75,40L 14.75,27.9999L 26.75,16L 37.25,16L 29.25,23.9999L 54,23.9999 Z ">
</Path>
</Canvas>
</Button>
【问题讨论】:
-
点击时
SwitchLanguages的颜色会改变吗?如果你没有做一些特别的事情,它就不会。 -
按下时颜色确实会改变(不是控件的
Foreground属性,而是其内容的颜色)——这是基于按钮的默认模板。
标签: c# wpf xaml windows-phone-8