2012-03-08 3 views
2

Я пытаюсь создать гиперссылку из существующего URL-адреса, которую я бы хотел поделиться с другими. Я хочу сказать, что я создаю опцию «share page» для своего мобильного приложения, и я передаю текущий url через querystring на мой SharePage.xaml, в котором пользователь может выбрать вариант для совместного использования текущего URL-адреса, который управляет веб-браузером есть. Например, в моем SharePage.xaml.cs мой код выглядит следующим образом:создать гиперссылку из текста

SharePage.xaml.cs

string urlToShare; 

    public SharePage() 
    { 
     InitializeComponent(); 
    } 

    protected override void OnNavigatedTo(NavigationEventArgs e) 
    { 
     //base.OnNavigatedTo(e); 

     NavigationContext.QueryString.TryGetValue("curUrl", out urlToShare); 
    } 

    private void SocialNetworks_Click(object sender, RoutedEventArgs e) 
    { 
     ShareLinkTask shareLinkTask = new ShareLinkTask(); 

     Uri shareUrl = new Uri(urlToShare);    

     shareLinkTask.Title = "Shared Link!"; 
     shareLinkTask.LinkUri = shareUrl; 
     shareLinkTask.Message = "Check out this link!"; 

     shareLinkTask.Show(); 
    } 

В настоящее время это работает хотя LinkUri часть сообщения отображается как обычный текст вместо гиперссылки (именно это я хотел бы дать в качестве опции). Целью было бы упростить более эффективную и быструю навигацию по URL-адресу, чтобы пользователю не пришлось вручную копировать и вставлять URL-адрес в веб-браузер (что-то, что я нашел раздражающим на Windows Phone). Есть ли способ сделать это в коде в моем событии SocialNetworks_Click? Любая помощь или предложения по коду будет оценена с большим удовольствием, я никогда не сталкивался с опцией Hyperlink на C#, поскольку я новичок в этом языке (и не могу найти что-либо в Интернете об этом в коде, если это возможно). Заранее спасибо!

+0

Возможно, хромой вопрос, но вы пробовали называть метод UpdateLayout() на странице? – Eugene

+0

@Eugene У меня нет, потому что, поскольку мой код в настоящее время, все работает правильно и отлично отображается на соответствующих страницах. Мне было интересно, как я могу создать гиперссылку из url запроса, загруженного в событие OnNavigatedTo, а затем использовать эту гиперссылку для отправки сообщения. – Matthew

+0

У меня возникла проблема, когда элемент макета не обновлялся, и кто-то предложил использовать метод UpdateLayout() для элемента, он решил мою проблему. См. Здесь: http://stackoverflow.com/questions/6439518/using-visualtreehelper-on-listbox-cant-get-listboxitems принятый ответ. Я думал, что стоит попробовать :) – Eugene

ответ

1

Я думаю, вы смущены тем, что должен делать ShareLinkTask.

Это не предназначено для отображения в виде ссылки в вашем приложении или даже в пользовательском интерфейсе задачи.

На странице «Разместить ссылку» это будет просто текст (и не подлежит обсуждению). Когда ссылка появляется в Twitter или Facebook или LinkedIn или что-то еще, что вы делитесь, тогда это будет действительная ссылка, которую можно использовать/щелкнув.

+0

ОК спасибо за это, я понял, что он должен был отображаться как обычный текст перед тем, как делиться, но я не понимал, что это будет позже. – Matthew

Смежные вопросы