【问题标题】:In Silverlight, how can I make a new pane appear when a button is pushed?在 Silverlight 中,如何在按下按钮时显示新窗格?
【发布时间】:2010-07-20 23:00:22
【问题描述】:

在我的主窗口上,我有几个不同的按钮和字段已经在工作。它们基本上是一个计算器,对用户隐藏计算。

但是,我想添加一个按钮,上面写着“它是如何工作的?”并在按下时从侧面滑入一个新窗格。

我在 Windows Phone 7 模拟器上执行此操作,但我使用的是 Silverlight。

【问题讨论】:

    标签: windows silverlight windows-phone-7


    【解决方案1】:

    如果你想在家酿造这将是相当微不足道的。我只会使用VisualStateManager。您的“工作原理”窗格有 2 个状态。

    1. HowDoIWork_Visible
    2. HowDoIWork_Hidden

    要实现滑动效果,您需要将窗格置于屏幕之外。所以我会在窗格的 RenderTransform 属性中添加一个 TranslateTransform。它的“X”属性集最初设置为窗格的负宽度。更多信息见TranslateTransform:

    对于 HowDoIWork_Visible 状态,将 TranslateTransform 的 X 属性设置为 0。将 Visibility 设置为“Visible”或将 Opacity 设置为“1.0”。

    现在创建 HowDoIWork_Hidden 状态,以便您可以再次隐藏窗格。将窗格的可见性设置为“折叠”或将其不透明度设置为“0.0”。还将 TranslateTransform 的 X 属性设置回 Width。

    当用户点击按钮时你只需要调用:

    VisualStateManager.GoToState("HowDoIWork_Visible");
    

    再次隐藏窗格:

    VisualStateManager.GoToState("HowDoIWork_Hidden");
    

    其他想法...

    您还可以调整 Silverlight Toolkit 的 Accordion 来做您想做的事情: http://silverlight.codeplex.com/wikipage?title=Silverlight%20Toolkit%20Control%20Overview%20Pg1&referringTitle=Home

    如果您没有卡在滑动效果中,ChildWindow 提供了一种打开对话框类型视图的简单方法。 http://www.wintellect.com/CS/blogs/jprosise/archive/2009/04/29/silverlight-3-s-new-child-windows.aspx

    【讨论】:

    • 有没有办法可以使用不同的页面?
    • 不同页面是什么意思?如果您将“HowDoIWork”UI 创建为 Silverlight“UserControl”而不是 Page,您可以像添加任何其他控件一样将其添加到 MainPage。只要确保在顶部包含您的命名空间。这是一个示例链接:a2zdotnet.com/View.aspx?Id=130
    猜你喜欢
    • 1970-01-01
    • 2015-09-20
    • 1970-01-01
    • 2020-10-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-24
    • 1970-01-01
    相关资源
    最近更新 更多