1

我正在动态绑定一个文本块(如果重要的话,在一个 ListBox 中)并在文本包含 url 时创建超链接。我正在使用WPF 中所示的技术 - 使超链接可点击

效果很好,但奇怪的是每次我用新文本更新绑定时,新的超链接在我真正点击文本块之前是不可点击的。在我点击文本块之前,即使是表示链接的“手形光标”也不起作用。

该应用程序不会失去焦点,它仍然会接收击键。我试过设置焦点并发送按键点击,但没有成功。有任何想法吗?

4

1 回答 1

0

好吧,它很hacky,但它似乎是唯一有效的东西。

我向应用程序发送了一个 KeyUp(向下箭头),一切都很好。

[DllImport("user32.dll")]
public static extern void keybd_event(byte bVk, byte bScan, uint dwFlags, uint dwExtraInfo);

然后在最后的 textchanged 处理程序中。

textBlock.Inlines.Clear();
textBlock.Inlines.AddRange(inlines);
keybd_event(0x28, 0, 0x0002, 0);

有一些关于应用程序必须看到一个输入事件允许它识别文本块已经使用新的 wpf 控件。

于 2013-06-11T17:09:09.007 回答