WPF デスクトップ アプリケーションで次の動作を実現するのに問題があります。
コード ビハインドから TextBlocks を動的に作成し、それらを StackPanel に挿入します。これはこれまでのところ機能します。ユーザーがマウスを TextBlock の上に移動すると、取り消し線がtextblockに適用され、アイテムをクリックして削除できることを示します。繰り返しますが、これはまだ機能します。マウスがtextblockを離れると、取り消し線が削除されます。ここで、TextDecorationCollection オブジェクトを変更するには IsFrozen を false に設定する必要があるという例外がスローされます。これを回避する方法を理解できませんでした。
これが私のコードです:
private void HandleAddedSecondaryDxMouseEnter(Object sender, MouseEventArgs e) {
TextBlock tbl = (TextBlock)sender;
tbl.TextDecorations = TextDecorations.Strikethrough;
}
private void HandleAddedSecondaryDxMouseLeave(Object sender, MouseEventArgs e) {
TextBlock tbl = (TextBlock)sender;
tbl.TextDecorations.Remove(tbl.TextDecorations[0]);
}
どんな助けでも大歓迎です。
ありがとう、ベルント