【问题标题】:create toggle button in toolbar在工具栏中创建切换按钮
【发布时间】:2015-07-27 05:04:29
【问题描述】:
我正在使用 MS CRM 和 USD,我想使用 WPF 托管控件创建一个切换按钮。我按照here上的教程进行操作。但是我想在单击按钮后更改按钮的文本。
【问题讨论】:
标签:
dynamics-crm
unified-service-desk
【解决方案1】:
按字面意思做你描述的事情可能比合理的选择需要更多的努力和复杂性,所以我想在这里探索这两种可能性。
期望的答案:在非切换美元按钮上复制切换按钮行为
- 将按钮的标签设置为 $Context 参数,例如 [[$Context.ToggleButtonText]]。请务必使用 Global Manager 的 CopyToContext 操作将此值推送到 DesktopReady。我们将使用此标签来定义按钮的状态,因此假设我们只会将值“On”和“Off”推送到此参数。
- 类似地,设置一个 $Context 参数来指示按钮是否正在改变,例如 [[$Context.ToggleButtonIsChanging]]。在 DesktopReady 上,将此设置为 false。同一个 Action Call 可以同时将 ToggleButtonText 和 ToggleButtonIsChanging 推送到 $Context。
- 为按钮单击定义三个操作调用。
3a。第一个动作调用会将 ToggleButtonIsChanging 设置为 true。
3b。接下来的两个动作调用应该命名为“Toggle Button to Off”和“Toggle Button to On”。两个动作调用都应该执行条件检查,从而授权或阻止它们的子动作触发。 (有关定义这些子操作的更多信息。)我建议在条件为真时使用全局管理器的暂停操作执行 1 毫秒暂停。
3c。要关闭切换按钮,条件应为“[[$Context.ToggleButtonText]]”=="On"&&[[$Context.ToggleButtonIsChanging]]。要将 Toggle Button 设为 On,条件应为“[[$Context.ToggleButtonText]]”=="Off"&&[[$Context.ToggleButtonIsChanging]]。
- 定义“将按钮切换为关闭”和“将按钮切换为打开”的子操作。
4a。第一个动作调用(如有必要,它的任何子动作)应执行与按钮状态更改相对应的所需自动化。换句话说,按钮的实际作用在这里。
4b。第二个动作调用应该通过推送新的 $Context 参数来完成按钮的状态更改。在“Toggle Button to Off”下,您希望此操作将 ToggleButtonText 设置为 Off 并将 ToggleButtonIsChanging 设置为 false。在“Toggle Button to On”下,您希望此操作将 ToggleButtonText 设置为 On 并将 ToggleButtonIsChanging 设置为 false。
更简单的建议:使用可见性条件分隔按钮
- 定义两个按钮,“开”和“关”。
- 在 DesktopReady 上,将值“On”或“Off”推送到 [[$Context.ButtonState]]。
- 定义两个按钮的可见性条件。例如,只有在“[[$Context.ButtonState]]”=="On"
时,On 按钮才应该可见
- 为两个按钮定义自动化。您至少需要两个操作调用。
4a。对于每个按钮,您的第一个操作调用应定义所需的自动化。
4b。每个按钮下的最后一个操作调用应该将相反的值推送到 $Context。例如,On 按钮的最终操作应该 CopyToContext ButtonState=Off。