我正在尝试在Silverlight for Windows Embedded 7中开发一个使用C ++的应用程序。
我能够运行一个带有按钮的简单页面,该按钮调用另一个函数(一个简单的Hello world消息框)。
这里的好问题是:如何让一个函数显示另一个页面,在另一个XAML文件中定义?我在网上找到的所有示例,甚至是在Microsoft资源中,都使用了一个XAML文件,其中包含了所有内容。
提前致谢!
答案 0 :(得分:1)
我现在是一名患有同样问题的学生。希望有人帮助我们解决它。
我搜索过并发现SWE不支持FRAME。
我找到了解决此问题的另一种方法,但我不熟悉C ++代码。 如果你知道如何用C ++编程,请你仔细阅读并教我一点? 非常感谢。
您可以搜索“在Silverlight for Windows Embedded中创建自定义用户控件”。 您将找到Microsoft发布的PDF文件。 通过这种方式,您可以创建自定义用户控件来保存“多页”。 我已经完成了这一步,并且通过我创建的控件,我能够“隐藏”并“显示”它以实现“多重”效果。
在我的用户控件中,我还有一些按钮可供用户点击。但是,从托管用户控件的主页中,无法检测到内部的按钮。
在PDF教程中,他们教我们如何调用自定义控件中的方法,但我不理解C ++代码。
如果您可以完成用户控制,请使自定义控件中的控件正常运行,您能告诉我吗?谢谢。
答案 1 :(得分:0)
要执行多页面应用程序,您需要多个xaml文件。不确定您发现的Microsoft教程是什么引用,但我正在开发一个具有20多个不同页面或屏幕的应用程序。您需要在XAML / ExpressionBlend中设计布局,然后使用事件处理程序和指向XAMl的指针,在C ++源代码中实现视图。
// ============================================================================
// LockDataLogger_Click
//
// Description: Event handler implementation
//
// Parameters: pSender - The dependency object that raised the click event.
// pArgs - Event specific arguments.
// ============================================================================
HRESULT MainPage::LockDataLogger_Click (IXRDependencyObject* pSender, XRMouseButtonEventArgs* pArgs)
{
HRESULT hr = E_NOTIMPL;
if ((NULL == pSender) || (NULL == pArgs))
{
hr = E_INVALIDARG;
}
//m_pDeviceSettings_Lang->m_pYear->Focus(false);
if(m_pDeviceSettings_Lang)
{
m_pDeviceSettings_Lang->m_pYear->SetIsDropDownOpen(false);
}
m_pLoginScreen->SetVisibility(XRVisibility_Visible);
m_pLogin_Password->SetPassword(L"");
m_pHome_LoginOptions->SetVisibility(XRVisibility_Collapsed);
return hr;
}
因此,当您为我的设备的主屏幕上的“锁定”按钮计时时,这是一个事件处理程序实现。您需要做的就是相应地命名您的不同页面/菜单,并根据事件处理程序实现,使用点,设置/更改不同页面的可见性。非常简单,希望示例代码提供一些见解。