C#xaml在另一个页面调用方法-处理字段数据
C# xaml call method in another page - process field data
我有一个情况,我有 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
.
如何获得包含所有已填写字段的页面?
编辑:也许有更好的方法来解决这个问题,但我现在就是这样编辑的。
每次按下按钮,您都在创建一个新的 SubjectInfo
。从 Navigate()
中创建它,一切都会正确。
我有一个情况,我有 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
.
如何获得包含所有已填写字段的页面?
编辑:也许有更好的方法来解决这个问题,但我现在就是这样编辑的。
每次按下按钮,您都在创建一个新的 SubjectInfo
。从 Navigate()
中创建它,一切都会正确。