0

C# と WPF を使用してアプリをビルドしています。問題はここにあります.... mainWindow.csファイルを含むmainWindow.xamlファイルを取得しました。また、別のクラス ファイル Setting.cs を作成します。チェック ボックスを mainWindow.xaml から setting.cs に取得して処理し、mainWindow.cs に送り返します。しかし、開いたときに閉じることができず、setting.csに追加したプロセスが機能しません。「public static void」と関係がありますか?

これが私の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 に答える