나는 기본적인 익명 트위터 앱을 개발하려고 노력하고있다. 문제는 내가 콘텐츠를 클릭 할 수 있기를 원한다는 것이다. 트위터가 게시 한 이미지 등. 가능하다면 프로필 사진을 확장 할 수 있기를 바랍니다.트위터 응용 프로그램에서 텍스트의 링크를 클릭 할 수있는 방법은 무엇입니까?
답변
텍스트에 링크가 있으면 런타임에 수신 된 데이터를 조작해야합니다. 더 이상 순수 텍스트로 텍스트 블록을 채우지 않지만 링크를 실제로 하이퍼 링크로 변경하십시오.
private void OnMessageReceived(string message)
{
var textBlock = new RichTextBox()
{
TextWrapping = TextWrapping.Wrap,
IsReadOnly = true,
};
var paragraph = new Paragraph();
var runs = new List<Inline>();
foreach (var word in message.Split(' '))
{
Uri uri;
if (Uri.TryCreate(word, UriKind.Absolute, out uri) ||
(word.StartsWith("www.") && Uri.TryCreate("http://" + word, UriKind.Absolute, out uri)))
{
var link = new Hyperlink();
link.Inlines.Add(new Run() { Text = word });
link.Click += (sender, e) =>
{
var hyperLink = (sender as Hyperlink);
new WebBrowserTask() { Uri = uri }.Show();
};
runs.Add(link);
}
else
{
runs.Add(new Run() { Text = word });
}
runs.Add(new Run() { Text = " "});
}
foreach (var run in runs)
paragraph.Inlines.Add(run);
textBlock.Blocks.Add(paragraph);
MessagesListBox.Children.Add(textBlock);
MessagesListBox.UpdateLayout();
}
위의 코드의 단점은 당신이 데이터 바인딩을 잃고 있다는 것입니다 : This answer 자세히 것으로 처리합니다. 새 텍스트를 추가하는 대신 기존 텍스트 블록을 변경하는 방식으로 함수를 변경하려고 할 수 있습니다. 나중에 링크를 만들지 않고 자신의 응용 프로그램에서 트윗을 계속 사용하려면 데이터 컨텍스트 만 유지하십시오.
동적으로 XAML을 조작하는 데 익숙해졌습니다.
업데이트 : 사실, 나는 그것을 지원하는 요소 중 Content을 UIElement에 바인딩 할 수 있다는 것을 발견했습니다. 당신은 예를 들어 쓸모없는 용기 <StackPanel Content="{Binding MyRichText}"></StackPanel>
에 텍스트 상자 라인을 변경하고 ... 당신의 TwitterItem
의 MyRichText
속성에 위의 코드에서 textBlock
를 할당 할 수 있도록
이미지가 당신이 HyperlinkButton이 필요합니다 클릭 할 수 있도록하려면 . 당신은 단순히 이미지 개체를 둘러싸고 수 있다는 것을 의미한다
<HyperlinkButton>
singleObject
</HyperlinkButton>
: 그냥 템플릿을 변경합니다.
HyperlinkButton에는 NavigateURI 속성이 있으므로 URL (또는 작성자의 프로필 페이지 등)의 이미지에 간단하게 바인딩 할 수 있습니다.
<HyperlinkButton NavigateURI="{Binding ImageSource}">
<Image Source="{Binding ImageSource}" Height="73" Width="73" VerticalAlignment="Top" Margin="0,10,8,0"/>
</HyperlinkButton>
그런 것. 대신 프로필 URL을 원하는 경우 예를 들어, NavigateURI="{Binding ImageSource}
NavigateURI="{Binding ProfileURL}"
에를 변경해야합니다 그리고 당신은 당신이 새로운 트위터 항목을 만들 URL에 TwitterItem에 ProfileURL를 추가하고 설정합니다.
그래서,이 더 간단한 변경입니다.
- 1. 텍스트의 링크를 활성화하는 방법
- 2. 링크를 클릭 할 때 로컬 응용 프로그램 실행
- 3. 일반 텍스트의 트위터 팔로워보기
- 4. SMS에서 클릭 가능한 링크를 구성하는 방법은 무엇입니까?
- 5. 하이퍼 링크를 클릭 할 수없는 이유는 무엇입니까?
- 6. 앵커 링크를 클릭 할 때 점프를 멈추는 방법은 무엇입니까?
- 7. 트위터에서 올린 트위터 클릭 할 수있는 링크를 만들 수 있습니까? RSS
- 8. 레일 해시에서 링크를 만드는 방법은 무엇입니까? 내 레일 응용 프로그램에서
- 9. QTextEdit에서 링크를 클릭 할 수있게 만드는 방법은 무엇입니까?
- 10. 링크를 클릭 할 때 게시 내용을 div에로드하는 방법은 무엇입니까?
- 11. 특정 응용 프로그램에서 사용할 수있는 AppleScript는 무엇입니까?
- 12. ListView에서 클릭 가능한 링크를 만드는 방법은 무엇입니까?
- 13. Wicket 응용 프로그램에서 고유 링크를 생성하는 방법은 무엇입니까?
- 14. 클릭 할 수있는 HTML 항목을 a-html 태그없이 클릭 할 수있는 방법은 무엇입니까?
- 15. 링크를 클릭 할 때 document.title을 변경하는 방법은 무엇입니까?
- 16. 링크를 클릭 할 때마다 데이터를 다시로드하는 방법은 무엇입니까?
- 17. 하이퍼 링크를 클릭 할 때 iframe에서 페이지를 호출하는 방법은 무엇입니까?
- 18. 하이퍼 링크를 클릭 할 때 새 창을 여는 방법은 무엇입니까?
- 19. 링크를 클릭 할 때 iframe을 만드는 방법은 무엇입니까?
- 20. 이미지에서 특정 부분을 클릭 할 수있는 방법은?
- 21. GWT로 클릭 가능한 링크를 만드는 방법은 무엇입니까?
- 22. 저장 전용 링크를 클릭 할 때 옵션
- 23. OSX 터미널에서 링크를 클릭 할 수있는 방법이 있습니까?
- 24. Google지도에서 클릭 할 수있는 아이콘을 Android에 추가하는 방법은 무엇입니까?
- 25. C# Windows 응용 프로그램에서 닫기 버튼을 클릭 할 때 응용 프로그램이 닫히지 않도록하는 방법은 무엇입니까?
- 26. 페이지의 각 링크를 통해 jQuery로 추가 할 수있는 방법은 무엇입니까?
- 27. 클릭 할 수있는 gridview
- 28. 텍스트 블록에서 텍스트의 일부를 클릭 할 때 이벤트를 호출하는 방법은 무엇입니까? 나는 텍스트를 클릭하면 :
- 29. jQuery를 모바일 - 나는 아이폰에 대한 링크를 클릭 할 때마다 링크가
- 30. 링크를 클릭 할 때 메일 보내기
우리는 내가이 가이드를 따라 ... –
더 구체적으로하시기 바랍니다 당신이 이미 가지고있는 것에 대해 좀 더 정보가 필요 해요 http://weblogs.asp.net/scottgu/archive/2010/03/18 /building-a-windows-phone-7-twitter-application-using-silverlight.aspx 원하는 사용자의 트윗을 표시하는 기본 앱을 만들 수 있습니다. 검색된 트윗 목록 상자에서 때때로 twittpic 등 예에 대한 링크를해야합니다 .. 내가 사진을 볼 수 twittpic 링크를 클릭하고 또한 그것을 확대하기 위해 사용자의 프로필 사진을 클릭 할 수 있도록하고 싶습니다. 감사 –