在WPF内的TextBox条目的基础上添加XML节点表

问题描述:

假设我创建了一个包含一个文本框的WPF表单。我在另一个wpf窗口的网格面板中调用该窗体,并在输入文本框内的值后,点击提交按钮。点击按钮后,我需要获取该值并将其以字符串形式保存在当前课程中。我的逻辑是这样的。在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()和表示错误作为“对象引用未设置为对象的实例”。请帮忙。谢谢。

+0

从哪里调用'details()'函数?发布'ValidationForm'代码。 – ViVi

+0

我已经添加了我的ValidationForm代码,我打电话来自selectedClick方法的详细功能 –

+0

检查你的obj,它是空的。 如果没有提供价值,你无法到达obj。 –

此问题是由于ValidationForm类中的字符串s未分配而引起的。这可能是由于没有调用XSave_Click()方法引起的。

确保在尝试从中获取值之前,将值正确分配给s

+0

是的,这是真的。当我通过右键单击上下文菜单调用selectedClick方法时,它应该加载表单,但它不加载窗体,只是将控件传递给细节function.i无法找到错误,为什么它不会加载窗体processgrid。 –

+0

您是否试图向用户显示ValidateForm用户控件并期待输入? – ViVi

+0

'Window window = new Window { Title =“ValidationForm”, Content = new ValidationForm() }; window.ShowDialog();' – ViVi