0

我有这样的silverlight4代码,

<controlsToolkit:BusyIndicator IsBusy="{Binding IsBusy}">
    <telerik:RadComboBox IsEnabled="{Binding IsEnabled, Mode=TwoWay}"/>
</controlsToolkit:BusyIndicator>

这在一定程度上简化了问题,但本质上,如果我在加载一些数据时将 IsBusy 设置为“true”,然后将其设置为“false”,则 RadComboBox 会按预期正确禁用和启用。

如果我编译我的应用程序并将其发布到 IIS,则当我将 IsBusy 设置为“true”时 RadComboBox 将禁用,但在我将 IsBusy 设置为“false”后它不再启用。

我无法以正常意义上的运行 VS 并在我的机器上启动它来调试它。我有几个想法可以向我展示更多信息,但都无法发挥作用。

1) 我尝试将 VS 调试器附加到在 IIS 中运行应用程序实例的 IE。我添加的断点消失了,它说“未加载符号”。也许这是因为这是软件的发布版本而不是调试?

2) 我尝试使用 Silverlight Spy 来弄清楚发生了什么。与 snoop 不同,我无法看到 IsEnabled 属性的设置。例如它是继承的,还是设置在视图模型中,或者直接设置在控件上等等。

4

1 回答 1

0

如果我把它改成这个它就可以了,

<controlsToolkit:BusyIndicator IsBusy="{Binding IsBusy}">
    <telerik:RadComboBox IsEnabled="{Binding IsEnabled}"/>
</controlsToolkit:BusyIndicator>

即从 RadComboBox 绑定中删除了 'Mode=TwoWay'。必须是 Telerik 控件或 BusyIndi​​cator 控件中的错误。我无法以任何其他方式解释它。

于 2012-05-24T21:12:37.730 回答