也许这是一个愚蠢的问题,但我如何在Windows8 RichEditBox中单击(并捕获单击事件)链接。
我已经使用RichEditBox.Document.GetRange(0, 10).Link = "\"foobar\""放置了链接。链接本身显示在RichEditBox中,但我无法单击它。
谢谢你的建议。
发布于 2013-09-13 17:37:01
下面是向RichEditBox添加链接单击事件的助手:
public class LinkClickedEventArgs
{
public string LinkText { get; set; }
}
public class RichEditBoxWithHyperlink :RichEditBox
{
public event EventHandler<LinkClickedEventArgs> LinkClicked;
protected override void OnTapped(TappedRoutedEventArgs e)
{
base.OnTapped(e);
if (LinkClicked != null)
{
Point tappedPoint = e.GetPosition(this);
ITextRange textRange = this.Document.GetRangeFromPoint(tappedPoint, PointOptions.ClientCoordinates);
textRange.StartOf(TextRangeUnit.Link,true);
if (!string.IsNullOrEmpty(textRange.Link))
{
LinkClicked(this, new LinkClickedEventArgs(){LinkText = textRange.Link});
}
}
}
}https://stackoverflow.com/questions/18790484
复制相似问题