Mrk*_*s83 2 microsoft-metro windows-8 winrt-xaml
也许这是一个愚蠢的问题,但我如何点击(并捕获点击事件)Windows 8中的链接RichEditBox.
我已经使用了链接RichEditBox.Document.GetRange(0, 10).Link = "\"foobar\"".链接本身显示在RichEditBox,但我无法点击它.
谢谢你的建议.
这是一个将链接点击事件添加到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});
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
386 次 |
| 最近记录: |