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)IISでアプリケーションのインスタンスを実行しているIEにVSデバッガーを接続しようとしました。追加したブレークポイントが消え、「シンボルがロードされていません」と表示されました。おそらくこれは、これがソフトウェアのリリースバージョンであり、デバッグではないためですか?

2)SilverlightSpyを使用して何が起こっているのかを理解しようとしました。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 に答える