在工具栏中创建切换按钮

时间:2015-07-27 05:04:29

标签: dynamics-crm unified-service-desk

我正在使用MS CRM和USD,我想使用WPF托管控件创建一个切换按钮。我按照here上的教程进行了操作。但是我想在点击按钮后更改按钮的文本。

1 个答案:

答案 0 :(得分:0)

从字面上看,你描述的内容可能需要比合理的替代方案更多的努力和复杂性,所以我想在这里探讨这两种可能性。

所需答案:在非切换美元按钮上复制切换按钮行为

  1. 将Button的标签设置为$ Context参数,如[[$ Context.ToggleButtonText]]。请务必使用Global Manager的CopyToContext操作在DesktopReady中推送此值。我们将使用此标签来定义按钮的状态,因此我们要说我们只会推送值" On"和"关"这个参数。
  2. 同样,设置$ Context参数以指示按钮是否正在更改,如[[$ Context.ToggleButtonIsChanging]]。在DesktopReady上,将其设置为false。相同的Action Call可以同时将ToggleButtonText和ToggleButtonIsChanging推送到$ Context。
  3. 为按钮单击定义三个操作调用。 3A。第一个Action Call将ToggleButtonIsChanging设置为true。 3B。接下来的两个动作调用应该被命名为"将按钮切换到关闭"和"将按钮切换为开启"。两个Action Calls都应该执行条件检查,从而授权或阻止其子操作被触发。 (有关定义这些子动作的更多信息。)我建议使用全局管理器的暂停操作在条件为真时执行1ms暂停。 3C。对于将按钮切换为关闭,条件应为" [[$ Context.ToggleButtonText]]" ==" On"&& [[$ Context.ToggleButtonIsChanging]]。对于将按钮切换为开,条件应为" [[$ Context.ToggleButtonText]]" =="关"&& [[$ Context.ToggleButtonIsChanging]]。
  4. 定义子项操作"将按钮切换为关闭"和"将按钮切换为开。" 4A。第一个Action Call(如果需要,它的任何子动作)应该执行与Button的状态改变相对应的所需自动化。换句话说,按钮实际上做了什么。 4B。第二个Action Call应该通过推送新的$ Context参数来完成按钮的状态更改。在"切换按钮关闭,"您希望此操作将ToggleButtonText设置为Off并将ToggleButtonIsChanging设置为false。在"切换按钮开启,"您希望此操作将ToggleButtonText设置为On并将ToggleButtonIsChanging设置为false。
  5. 更简单的建议:具有可见性条件的单独按钮

    1. 定义两个按钮," On"和"关闭。"
    2. 在DesktopReady上,按下一个值" On"或"关"至[[$ Context.ButtonState]]。
    3. 定义两个按钮的可见性条件。例如,如果" [[$ Context.ButtonState]]" ==" On"
    4. ,则仅应显示“开”按钮。
    5. 定义两个按钮的自动化。您至少需要两个动作呼叫。 4A。对于每个按钮,您的第一个Action Call应定义所需的自动化。 4B。每个按钮下的最后一个Action Call应该将反转值推送到$ Context。例如,On按钮的最终操作应该是CopyToContext ButtonState = Off。