1つのテキストボックスを持つWPFフォームを作成したとします。私はそのフォームを別のwpfウィンドウのグリッドパネルの中で呼び出しています。そして、テキストボックスの中に値を入力した後、submitボタンをクリックしています。ボタンをクリックした後、私はその値を取得し、現在のクラス内の文字列形式で保存する必要があります。私の論理はこういうものです。私の現在のウィンドウ内から取得するためのWPFフォーム内のTextBoxエントリに基づいてXMLノードを追加する
: -
void SelectedClick(object sender, RoutedPropertyChangedEventArgs<object> e)
{
selectedItem.ContextMenu = VcontextMenu;
VcontextMenu.Items.Add(VmenuItem1);
VmenuItem1.Click += AddValidation;
details();
}
void AddValidation(object sender, RoutedEventArgs e)
{
ValidationForm obj = new ValidationForm();
ProcessGrid.Content = obj.VForm;
}
今私は、文字列内の私のテキストボックスの値を格納したいです。
public void details()
{
ValidationForm obj = new ValidationForm();
string str = obj.s.ToString();
}
マイValidationFormコード: - - :そのために私は、次のコードを使用している
public partial class ValidationForm : UserControl
{
public string s { get; set; }
public ValidationForm()
{
InitializeComponent();
}
public void XSave_Click(object sender, RoutedEventArgs e)
{
s = TextValidationName.Text;
}
}
を代わりにフォームを開くと、コントロールが(obj.s.ToStringに行く)との誤差を示しています「オブジェクト参照がオブジェクトのインスタンスに設定されていません」助けてください。ありがとう。
どこから 'details()'関数を呼び出していますか? 'ValidationForm'コードも投稿してください。 – ViVi
ValidationFormコードを追加しました。selectedClickメソッドから詳細関数を呼び出しています –
objをチェックしてください、それはnullです。 価値を与えずにobjにアクセスすることはできません。 –