2011-02-23 88 views
0

我刚刚获得故事板的工作,现在我试图将所有功能封装到UserControl中。绑定到从父窗口在UserControl中定义的故事板

我们的目标是在我的窗口上按下一个按钮,让它开始在UserControl中定义的故事板(将用户控件滑入视图中),然后单击UserControl内的按钮时触发另一个故事板在用户控件中(将UserControl滑出)。

我发现这个question,这看起来很相似;然而,这里没有令人满意的答案,另外,我愿意接受其他解决方案来实现我的目标。

我的假设是,我的用户控件应该知道如何将自己“滑动”到视图和视图之外,这个控件基本上是一个荣耀的输入对话框,所以它会被告知“自我显示”它在外部,但只有它知道它何时隐藏自己。

我可以将动画/故事板定义在控件之外,但如果这是最好的(这似乎是上述问题的共识) - 当OK或OK时,我将如何“滑出”取消按钮是从控制器内推动的?

窗口执行“滑入”和控制以执行“滑出”感觉很难看,但这就是原始控件存在的地方。

我宁愿一个完全的XAML解决方案;但我打开删除UserControl中的一些代码。我正在寻找一个强大而简单的解决方案,因为一旦我得到这个工作,我有几个额外的UserControls适合这个模具。

回答

1

可能你应该试试Visual States

+0

看起来和我在找的一模一样,但在我的场景中找不到任何好用法的例子。 – Nate 2011-02-24 16:50:18

+0

@Nate:在用户控件的布局根目录中创建可视状态。然后添加定义你的状态的依赖属性,例如'IsInInputMode'。当属性更改为“true”时 - 进入输入状态,另一种情况 - 进入正常状态。 – 2011-02-24 17:39:57

+0

你有这样的例子吗?我一直在追捕,但我没有找到足够简单的东西来让我走。 – Nate 2011-02-24 18:23:01