質問

VSTO 3.0を使用していますが、リボンデザイナーからリボンが提供されます。リボンは明らかにドキュメント間で共有されています。

つまり、リボン(またはトグルボタン)に表示する必要があるドキュメント固有の状態(XMLマークアップタグの数など)がある場合、すべてのドキュメントがリボンインスタンスを共有しているようです

これを修正するにはどうすればよいですか TIA

役に立ちましたか?

解決

ドキュメントモデル内の適切なイベント(アクティブなドキュメントが変更されたときなど)にフックし、そのイベントで適切なリボンボタンを無効にします(読み込む元のRibbon xmlの要素のIDが必要です) 。

その後、そのボタンの状態の更新コールバックが発生すると、必要に応じてcaption / image / enabledを更新できます。

他のヒント

Application.DocumentChangeイベントまたはApplication.WindowActivateイベントを使用できます。

最初に起動された後、現在のアクティブなドキュメントを変更しますが、引数にはそのドキュメントに関する情報がないため、それを把握する必要があるため、作業が困難です。

後者も同様であり、ウィンドウを変更するたびに起動されますが、この場合は現在のアクティブなドキュメントを引数として渡すため、ドキュメントプロパティの値を確認する必要がある場合はリボンを変更する方が簡単です。それは私のために働いた。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top