【发布时间】:2014-08-04 16:02:15
【问题描述】:
我是个新手。所以我想做的是在对其进行tappnig时切换画布元素的颜色。我已经可以改一次了。现在我想把它改回来,当我第二次点击它时。
这里是行
<Canvas x:Name="N" Width="339.667" Height="349" Canvas.Left="0" Canvas.Top="0">
<Path x:Name="Path" Width="94" Height="89" Canvas.Left="118.833" Canvas.Top="-7.62939e-006" Stretch="Fill" Fill="White" Tap="Tap_N" Data="F1 M 165.833,-7.62939e-006L 212.833,89L 165.333,68L 118.833,89L 165.833,-7.62939e-006 Z "/>
</Canvas>
和
private void Tap_N(object sender, System.EventArgs e)
{
if (Path.Fill.Equals(Colors.White))
{
SolidColorBrush mySolidColorBrush = new SolidColorBrush();
mySolidColorBrush.Color = Colors.Transparent;
System.Windows.Shapes.Path Path = (System.Windows.Shapes.Path)sender;
Path.Fill = mySolidColorBrush;
}
else
{
SolidColorBrush mySolidColorBrush = new SolidColorBrush();
mySolidColorBrush.Color = Colors.White;
System.Windows.Shapes.Path Path = (System.Windows.Shapes.Path)sender;
Path.Fill = mySolidColorBrush;
}
}
所以我知道,我不能用那个 Path.Fill.Equals 来做。但是我怎么能问,如果这个画布路径完全填充了这种或那种颜色。 我也读过一些关于
public override sealed bool Equals(Object obj)
我必须这样解决吗?如果是,那么它将如何工作? 希望你能明白,我希望有人能帮助我,正如我所说,我对此很陌生。 谢谢
【问题讨论】:
标签: c# xaml canvas windows-phone