0

我使用 C# 和 WPF 来构建我的应用程序。所以继承人的问题....我得到了我的 mainWindow.xaml 文件及其 mainWindow.cs 文件。我还创建了另一个类文件 Setting.cs。我尝试将复选框从 mainWindow.xaml 带到 setting.cs 并处理它,然后发送回 mainWindow.cs。但是当我打开它时,它无法关闭,并且我在 setting.cs 中添加的过程不起作用。这与“公共静态无效”有关吗?

这是我的 Setting.cs:

public class Setting
{

public static void loadSetting()
    {
       MainWindow win = new MainWindow();
       XDocument document = XDocument.Load("UserSetting.xml");

        var query = from p in document.Descendants("user_Setting")
                    where p.Element("id").Value == "1"
                    select p;

        XElement element = query.First();
        element.SetElementValue("Keep_Login",saveCheckBox(win.MyCheckBox);
    }

public static void saveCheckBox(System.windows.Controls.CheckBox checkBox)
   {
        string status = "";
        if (checkBox.IsChecked == true)
            status = "true";
        else if (checkBox.IsChecked == false)
            status = "false";

        return status;
    }
}

我的 MainWindow.cs:

public MainWindow()
    {
        InitializeComponent();
        Setting.loadSetting(); 
    } 
4

1 回答 1

1

您的代码无法编译:

public static **string** saveCheckBox(System.windows.Controls.CheckBox checkBox)
{
    string status = "";
    if (checkBox.IsChecked == true)
        status = "true";
    else if (checkBox.IsChecked == false)
        status = "false";

    return status;
}

这样你就可以对你的代码结果做一些事情。我建议使用 bool 作为结果而不是字符串并更改方法的名称,因为您没有保存任何内容。

于 2012-11-05T09:57:11.650 回答