【问题标题】:Binding VisualState to the ViewModel in Universal Windows 10 Apps在通用 Windows 10 应用程序中将 VisualState 绑定到 ViewModel
【发布时间】:2015-09-10 21:30:39
【问题描述】:

我曾经使用自定义 Blend 行为将 ViewModel 上的枚举绑定到与枚举枚举命名相同的 VisualState

但是,在包含引用并包含 usings 之后,目前似乎不支持 Bahaviors SDK。

在 Windows 10 通用应用程序中以 MVVM 方式更改 VisualState 的当前最佳方法是什么?

【问题讨论】:

  • 支持混合 SDK。确保使用 8.1 中的那个。
  • 哪一个?在 NuGet 上或搜索 VS 扩展时没有结果。这是最新的在线但日期为 2010 microsoft.com/en-us/download/details.aspx?id=10801
  • 转到 Blend 并添加一个例如 GoToStateAction。 Blend 将自动添加到您的项目中。
  • 嗯,好的,我让它工作了 - 我在参考菜单中找到了“行为 SDK”,并且之前尝试过,但它第一次没有工作(Blend 崩溃)但是我再次尝试了它现在可以工作(需要一段时间来加载行为)。还缺少 Behavior<T> 基类,这让我认为它没有正确导入 - 我必须从头开始实现 DependencyObject, IBehavior 的行为,但它现在可以工作了。
  • 是的,已经没有行为基类了,你必须改用那个接口。

标签: mvvm win-universal-app windows-10 visualstatemanager


【解决方案1】:

“行为 SDK”可以通过右键单击引用 -> 添加引用 -> 通用 Windows -> 扩展 -> 行为 SDK 来包含。

某些 API 已更改,因此无法继承 Behavior<T>(请改用 DependencyObject, IBehavior 并实现 IBehavior 接口)。 VisualStateUtilities.TryFindNearestStatefulControl 现在也是 VisualStateUtilities.FindNearestStatefulControl。当我导入我的旧行为并且即使引用了 Behavior SDK 也无法解析引用时,它让我认为导入没有工作(特别是因为有一个关于导入 Behavior SDK 的警告声称它可能不起作用 -了解更多信息的链接已失效,几乎没有激发信心!)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-04-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多