我有情况,我有MainPage
,其中有Frame
个按钮。
Button
可以浏览不同的页面以填写表单。
Frame
用于显示这些页面,其中包含要插入的不同表单和数据。
现在我遇到了问题,如果我按下该按钮,我需要在该页面上处理该数据,我在哪里。编辑(工作)代码:
SubjectInfo si;
NeckPain np;
...
private void Navigate()
{
step++;
if (action.Equals("New"))
{
if (si == null)
LoadNewSubjectPages();
switch (step)
{
case 1:
ShowFrame(); // Frame becomes visible to display pages
FrameMain.Navigate(si); // Displays subject info page in frame
btnNavigation.Content = "Next";
break;
case 2:
bool res = si.ValuesToExcel(); // Problematic place (1) - Fixed
if (res)
FrameMain.Navigate(np);
else
step--;
break;
...
default: // When steps reach to end
HideFrame();
LoadNewSubjectPages(); // Loads new Page objects
break;
}
}
}
// Loads pages for form.
private void LoadNewSubjectPages()
{
si = new SubjectInfo();
np = new NeckPain();
...
}
(1)
这是我在页面上调用该方法的地方,但该页面中的每个元素都是空的。因此,当我得到txbName.Text
时,我得到的只是null
。
如何获得包含所有填充字段的页面?
编辑:也许有更好的方法可以解决这个问题,但这就是我此刻编辑的方式。
答案 0 :(得分:1)
您在按下按钮的任何时候都在创建新的SubjectInfo
。从Navigate()
创建,一切都正确。