我正在使用计时器制作动画,当它的边距达到值时,我想要停止。 “Bir”是我的形状,“ZamanSayacıA”是我的计时器。
if (Bir.Margin == "510, 410, 0, 0")
{
ZamanSayacıA.Stop();
}
并给出以下错误。
运算符'=='不能应用于'Thickness'和'string'
类型的操作数
答案 0 :(得分:3)
您无法将Thickness
和string
与==
运算符进行比较,因为它们都是不同的类型。但是Thickness
有一个派生方便的构造函数:
Thickness th = new Thickness(510, 410, 0, 0);
if(Bir.Margin.Equals(th))
{
}
由于==
operator已超载,您还可以使用:
if(Bir.Margin == th)
{
}
如果您只有一个字符串"510, 410, 0, 0"
,那么您需要获得Thickness
:
double[] thLengths = Array.ConvertAll("510, 410, 0, 0".Split(','), double.Parse);
Thickness th = new Thickness(thLengths[0], thLengths[1], thLengths[2], thLengths[3]);
答案 1 :(得分:1)
Bir.Margin
不是string
,而是Thickness
。您无法将string
实例直接与Thickness
的实例进行比较。
您应该创建一个Thickness
来比较Bir.Margin
到:
if (Bir.Margin == new Margin(510,410,0,0))