【问题标题】:How to connect ICommand and VisualStateManager together如何将 ICommand 和 VisualStateManager 连接在一起
【发布时间】:2013-08-01 05:57:33
【问题描述】:

如何让窗口上的控件知道它们的状态应该改变。我必须使用 ICommand 并且由于控件可以具有不同的状态(启用/禁用、选中/未选中...)必须使用 VisualStateManager 来处理它们。

这可能是一种可能的情况: 单击录制按钮时(选中),窗口中的其他控件应该是不可选中的,一旦录制完成,它们应该是可选中的,并且在许多其他情况下。

任何帮助将不胜感激。 谢谢。

【问题讨论】:

    标签: wpf c#-4.0 visualstatemanager icommand


    【解决方案1】:

    您可以借助交互和交互性来实现它。看看有没有帮助。

    在您的 XAML 中添加以下引用

    xmlns:ei="http://schemas.microsoft.com/expression/2010/interactions" 
    xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity" 
    

    您可以绑定您的ICommand 并提供一个VisualState 名称,该名称将在点击Button 时应用

    <Button>
        <i:Interaction.Triggers>
            <i:EventTrigger EventName="Click">
                <i:InvokeCommandAction Command="{Binding YourICommand}" /> 
                <ei:GoToStateAction StateName="YourVisualStateName" />
            </i:EventTrigger>
        </i:Interaction.Triggers>
    </Button>
    

    如果您没有 Blend 4,您可以安装 Blend 4 SDK 以获取当前行为程序集。

    【讨论】:

    • 感谢 Nitesh 的回复。会试一试,会更新你。
    猜你喜欢
    • 2021-05-10
    • 2021-08-28
    • 1970-01-01
    • 2022-08-14
    • 2014-05-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多