Silverlight for Windows Embedded 7中的多页面应用程序

时间:2011-03-27 01:02:00

标签: c++ windows silverlight embedded

我正在尝试在Silverlight for Windows Embedded 7中开发一个使用C ++的应用程序。

我能够运行一个带有按钮的简单页面,该按钮调用另一个函数(一个简单的Hello world消息框)。

这里的好问题是:如何让一个函数显示另一个页面,在另一个XAML文件中定义?我在网上找到的所有示例,甚至是在Microsoft资源中,都使用了一个XAML文件,其中包含了所有内容。

提前致谢!

2 个答案:

答案 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;
}

因此,当您为我的设备的主屏幕上的“锁定”按钮计时时,这是一个事件处理程序实现。您需要做的就是相应地命名您的不同页面/菜单,并根据事件处理程序实现,使用点,设置/更改不同页面的可见性。非常简单,希望示例代码提供一些见解。