0

私は MVVM を使用しており、WebBrowser を ViewModel(-property) にバインドしたいと考えています。このメソッドを使用して、バインド可能な WebBrowser を実行しました: http://pastebin.com/1SwwQgJZ

とにかく、XMLファイルに基づいてフォーミュラーを動的に作成したい。私のアプリケーションは次のようになります: ユーザーは WPF プログラムを開き、自分のアカウントでログインします。この後、WebBrowser を含む別のビューがポップアップし、WPF にはいくつかの XML ファイルを含むコンボボックスが含まれます。ユーザーは XML ファイルを選択でき、そのコンテンツに基づいて、WebBrowser のソースが更新されます。私は次のようにします (HTML ファイルを作成する方法を示すために切り取っただけです)。

foreach(Question q in QuestionList)
    foreach(Answer a in AnswerList)
        _reportpage + = "<td> " + _reportpage + "</td>";

だから私はフォームを作成したいと思っています。これは後で次のようになります。

                       good  middle  bad

How do you feel?       [ ]   [ ]     [X]
How was school?        [X]   [ ]     [ ]

[ ] はラジオボタンです。このようなフォームを作成することは問題ではありません。問題はデータを ViewModel に送り返すことです...ユーザーがクリックした回答を知りたいのですが、それを「回答」のリストに保存します。どうすればいいですか?

私は WPF フォームを動的に作成する必要があり、これを WPF/WP8/W8/Silverlight で使用したいので、すべてのプラットフォームが HTML を処理できるため、この方法が最善の方法だと思います。

編集:次のようなHTMLファイルを作成しています:

        _reportpage = "<table border='2'>";
        _reportpage += "<tr><td></td>";
        foreach (T_Answer answer in AnswerList)
        {
            _reportpage += "<td>" + answer.Text + "</td>";
        }
        _reportpage += "</tr>";
        foreach (T_Question tq in QuestionList)
        {
            _reportpage += "<tr><td>" + tq.Text + "</td>";
            foreach (T_Answer ta in tq.Answer)
            {
                _reportpage += "<td><input type='radio' name='" + tq.ID + "' value='" + ta.Answer.ID + "'>" + ta.Answer.Text + "</td>";
            }
            _reportpage += "</tr>";
        }
        _reportpage += "</table>";
        _reportpage += "<input type='button' value='Submit'>";
4

1 に答える 1