阵列中的Windows Phone 8 C#边距厚度
本文关键字:Windows Phone 阵列 | 更新日期: 2023-09-27 18:28:56
我试图用数组中的值设置椭圆的边距。到目前为止,我的代码是:
private void Dots()
{
string[] strArray = new string[] { "387,10,396,432"}; // this is the margin
foreach (string str in strArray)
{
Ellipse a = new Ellipse();
a.Fill = new SolidColorBrush(Color.FromArgb(255, 0, 0, 0));
a.Margin = new Thickness(Convert.ToInt32(str)); // the margin goes here
a.Width = 25;
a.Height = 25;
a.Tap += DotTap;
LevelPanel1.Children.Add(a);
}
}
现在的问题是,我得到错误"输入字符串的格式不正确"。利润率最终应该是这样的:
a.Margin = new Thickness(387,10,396,432);
有人现在该怎么解决这个问题吗?(顺便说一句,我是C#编程的新手,所以如果这是一个非常愚蠢的问题,我很抱歉。)
提前谢谢。
这只是一个字符串btw.
如果你想用字符串[]来做,那么就做这个
string[] strArray = new string[] { "10","10","396","432" };
Thickness t = new Thickness(Convert.ToInt32(strArray[0]),
Convert.ToInt32(strArray[1]),
Convert.ToInt32(strArray[2]),
Convert.ToInt32(strArray[3]));
否则,如果您只想使用一个String,请使用","作为分隔符将其拆分。
拆分的示例代码
string str = "387,10,396,432";
string[] strArray = str.Split(',');
Thickness t = new Thickness(Convert.ToInt32(strArray[0]),
Convert.ToInt32(strArray[1]),
Convert.ToInt32(strArray[2]),
Convert.ToInt32(strArray[3]));
多页边距的示例代码
string[] strArray = new string[] { "387,10,396,432", "0,0,20,40" };
string[] first_margin = strArray[0].Split(',');
string[] second_margin = strArray[1].Split(',');
Thickness first_thickness = new Thickness(Convert.ToInt32(first_margin[0]),
Convert.ToInt32(first_margin[1]),
Convert.ToInt32(first_margin[2]),
Convert.ToInt32(first_margin[3]));
Thickness second_thickness = new Thickness(Convert.ToInt32(second_margin[0]),
Convert.ToInt32(second_margin[1]),
Convert.ToInt32(second_margin[2]),
Convert.ToInt32(second_margin[3]));
使用for each
的示例
string[] strArray = new string[] { "387,10,396,432", "0,0,20,40" };
foreach (string s in strArray)
{
string[] margin = s.Split(',');
Thickness thickness = new Thickness(Convert.ToInt32(margin[0]),
Convert.ToInt32(margin[1]),
Convert.ToInt32(margin[2]),
Convert.ToInt32(margin[3]));
}