阵列中的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#编程的新手,所以如果这是一个非常愚蠢的问题,我很抱歉。)

提前谢谢。

阵列中的Windows Phone 8 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]));

}