立即动手尝试-使用Silverlight Media Framework构建自定义播放器(13)

2012-04-09
浏览
导读:属性创建的两个 SuggestionStates 分别显示为隐藏和显示。如果单击隐藏,则左侧会 显示一个红色圆圈,表明 Expression Blend 正在记录设计器中所做的任何属性更改。Expression Blend 会继续记录属性更改,直到再次

属性创建的两个 SuggestionStates 分别显示为“隐藏”和“显示”。如果单击“隐藏”,则左侧会 显示一个红色圆圈,表明 Expression Blend 正在记录设计器中所做的任何属性更改。Expression Blend 会继续记录属性更改,直到再次单击“隐藏”,此时红色记录圈会消失。

当 Expression Blend 积极记录“隐藏”可视状态时,请将按钮设置为“折叠”。在“对象和时间线 ”窗口下选择所有三个按钮,并在“属性”选项卡中选择“折叠”作为其“可视性”。通过再次单击“隐 藏”按钮,停止记录“隐藏”可视状态。现在,单击“显示”,一个红色圆圈将显示在“显示”可视状态 的左侧。通过单击“可视性”下拉菜单右侧的“高级属性选项”按钮,并选择“记录当前值”,这时可以 明确将可视性状态记录为“可视”。保存所有打开的文档,再次返回 Visual Studio。

本机 Silverlight 类 VisualStateManager 可用于明确设置当前有效的可视状态。在播放器的 OnApplyTemplate 方法中,将“隐藏”设置为当前有效的可视状态:

VisualStateManager.GoToState(this, "Hide", true);

在 suggestion_FetchCompleted 中,将“显示”设置为当前有效的状态,以在流式处理结束以及“建 议”数据下载完成时显示按钮:

VisualStateManager.GoToState(this, "Show", true);

要在单击按钮(或重新播放最初的流媒体)时隐藏按钮,请为 MediaElement 的 MediaOpened 事件创 建一个新事件处理程序,并将可视状态设置为“隐藏”。

最后一次启动并调试播放器。您将看到按钮不可见,直到视频播放完毕,这时按钮将变为可见。单击 某按钮,可将播放器导航到按钮对应的“建议”设置中指定的任意 URL。

利用 Codeplex 上的 SMF 项目空间,您可以访问代码库、文档、讨论内容和 Issue Tracker。欢迎您 积极投稿。投入更多的项目创意,每个人都能享受到更加优秀的项目成果。

Silverlight编程模型、XAML和HTML DOM

Silverlight对象树

Silverlight中如何为浏览器外应用程序实现

Silverlight中如何为浏览器外支持配置应用

使用LINQ和ADO.NET创建Silverlight程序