动态绑定TextBlock链接在单击之前不活动

时间:2013-06-10 20:02:22

标签: wpf

我正在动态绑定Textblock(如果重要的话,在ListBox中)并在文本包含url时创建超链接。我正在WPF - Making hyperlinks clickable

中使用该技术

工作得很好,但奇怪的是每当我用新文本更新绑定时,新的超链接在我实际点击文本块之前是不可点击的。即使是“手形光标”,指示链接也不起作用,直到我点击文本块。

该应用程序不会失去焦点,它仍然会收到击键。我已经尝试过设置焦点并发送关键点击而没有运气。有什么想法吗?

1 个答案:

答案 0 :(得分:0)

嗯,这很黑,但这是唯一似乎有用的东西。

我向应用程序发送了一个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控件识别文本块。