【问题标题】:Bind to storyboard defined inside a UserControl from the parent window从父窗口绑定到 UserControl 内定义的情节提要
【发布时间】:2011-07-03 02:30:55
【问题描述】:

我的故事板刚刚开始工作,现在我正试图将所有功能封装到一个 UserControl 中。

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

我找到了这个question,看起来很相似;但是,那里没有令人满意的答案,此外,我愿意接受其他解决方案来实现我的目标。

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

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

Window 执行“滑入”和控件执行“滑出”感觉很难看——但这就是原始控件存在的地方。

我宁愿一个完整的 XAML 解决方案;但我愿意在 UserControl 中删除一些代码。我正在寻找一个强大而简单的解决方案,因为一旦我得到这个工作,我就有几个额外的用户控件可以适应这个模具。

【问题讨论】:

    标签: .net wpf user-interface mvvm resources


    【解决方案1】:

    也许你应该试试Visual States

    【讨论】:

    • 这看起来与我正在寻找的完全一样,但我在我的场景中找不到任何好的使用示例。
    • @Nate:在用户控件的布局根目录中创建视觉状态。然后添加定义你的状态的依赖属性,例如IsInInputMode。当属性更改为true - 进入输入状态,另一种情况 - 进入正常状态。
    • 你有这样的例子吗?我一直在寻找,但我没有找到足够简单的东西来真正让我继续前进。
    • 如何将 View 中的 DP 绑定到 ViewModel?
    • @Nate:我为您准备了一个简单的示例,其中包含视觉状态并绑定到 ViewModel。你可以在这里下载:VisualStateSample
    猜你喜欢
    • 1970-01-01
    • 2010-10-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-11-27
    • 1970-01-01
    • 2015-05-21
    • 1970-01-01
    相关资源
    最近更新 更多