我在 WPF 桌面应用程序中实现以下行为时遇到问题:
我从后面的代码动态创建 TextBlocks 并将它们插入到 StackPanel 中。到目前为止,这有效。当用户将鼠标移到 TextBlock 上时,应将 Strikthrough 应用于 textblock ,表示可以通过单击删除该项目。同样,这仍然有效。当鼠标离开textblock时,删除线将被删除,这里会抛出异常,说 IsFrozen 必须设置为 false 才能更改 TextDecorationCollection 对象。我无法弄清楚如何解决这个问题。
这是我的代码:
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]);
}
任何帮助将不胜感激。
谢谢,伯恩德