2011-03-27 45 views
1

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

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

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

在此先感谢!

回答

1

我是一名现在患同样问题的学生。希望有人来帮助我们解决它。

我搜索了一下,发现SWE不支持FRAME。

我找到了解决这个问题的另一种方法,但我不熟悉C++代码。 如果你知道如何用C++进行编程,你可以通读一下并教给我一点吗? 非常感谢。

您可以搜索“在Silverlight for Windows Embedded中创建自定义用户控件”。 您将找到Microsoft发布的PDF文件。 通过这种方式,您可以创建自定义用户控件来保存“多页”。 我已经完成了这一步,并且使用我创建的控件,我可以“隐藏”并“显示”它以实现“多页”效果。

在我的用户控件中,我有更多的按钮让用户点击。但是,从托管用户控件的主页,无法检测到里面的按钮。

在PDF教程中,他们教导我们如何调用自定义控件中的方法,但我不了解C++代码。

如果您可以完成用户控制,请使您的自定义控制功能中的控件正确无误,请您告诉我?谢谢。

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

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

相关问题