2010-06-08 92 views
3

我有一个控件具有在XAML中连接的事件的情况,比如Button.Click。Silverlight控件禁用/删除事件

我的代码中的其他地方应用了安全检查,这意味着我需要禁用所述事件,但我无法访问正常 - =语法来删除它。

我该如何删除或禁用此事件?

谢谢, 戴夫

回答

2

数据按钮的IsEnabled属性绑定到你的模型类/ DataContext的,它可以通过你的代码的任何地方进行更新。

如果您需要更多控制权,请考虑让字典或“已批准”按钮的列表具有单击事件标记或底层业务对象的标记。在您的Click事件中,请在继续之前检查令牌/对象/特殊事物是否存在。

+0

谢谢杰夫。 我实际上已经完成了IsEnabled的工作,但是,我需要更高保真度的IsEnabled。例如,在DataGrid中,我需要针对特定​​事件应用安全性... – Dave 2010-06-08 20:25:58

+0

经过更新以反映这一点。 – 2010-06-09 01:06:09

+0

嗨,杰夫,我实际上在做的是利用附加属性来调出每个控件所需的安全声明/需求。这样我就可以按照需求装饰我的XAML,而不是诉诸代码隐藏。 我实际上最终挂钩了ViewModel中的命令,这反过来又调节了对这些命令的访问。 “下一次”我可能会考虑一个工厂模式来添加事件处理程序,这反过来管理访问,所以我可以不添加处理程序,如果它不合适。 感谢您的建议/帮助。 Dave – Dave 2010-06-10 15:09:38