如何在 Silverlight 4 中禁用具有 Command 属性的按钮

Tai*_*Tai 3 silverlight silverlight-3.0 silverlight-4.0

我有一个具有 Command 属性的按钮。但是,我希望禁用该按钮(用户无法单击它),直到单击另一个按钮。例如,用户只能在单击“新建”按钮后单击“保存”按钮

所以我做了以下事情

<telerik:RadButton Content="Save" Height="22" HorizontalAlignment="Right" Margin="0,0,72,25" Name="saveRBtn" VerticalAlignment="Bottom" Width="43" Grid.Column="5" Grid.Row="4" 
                       IsEnabled="False"
                       Command="{Binding Path=LoadCommand, ElementName=documentLineDomainDataSource}" 
                       Click="saveRBtn_Click"/>
Run Code Online (Sandbox Code Playgroud)

但是,如果我在代码中取出命令属性时具有 Command 属性,则设置 IsEnabled = False 似乎不会禁用该按钮,然后设置 IsEnabled = false 工作正常

不确定为什么如果 Command 属性存在,IsEnabled 设置将不起作用。

请帮助我

谢谢

Tim*_*res 5

按钮可以在有或没有命令的情况下使用。如果不使用 Command,则可以使用 Click 事件和 IsEnabled 属性。它们比 Command 具有优先级,因为它们更“直接”(并且在 Silverlight 支持 Command 属性之前就已存在)。

通常,如果您使用命令,则不会设置 IsEnabled 且不会处理 Click 事件。如果可以执行命令(CanExecute 属性),则按钮将被启用,并且它将调用按钮的 Execute 方法。

要回答您的问题,您应该删除 IsEnabled 和单击处理程序的设置,并通过 Command 对象执行所有操作。