今のところ私はlistViewの列の1つ、GridViewのクラスの1つのプロパティに表示しています。これは多かれ少なかれ見えます:列セル内のテキストを変更してハイパーリンクにする、listView WPF C#
<ListView x:Name="offers_listView" Margin="38,185,35,81" >
<ListView.View>
<GridView>
<GridViewColumn Width="100" Header="itemId" DisplayMemberBinding="{Binding Path=itemId}" />
ItemIDは数字です。
私がしたいのは、この番号に基づいてハイパーリンクを作ることです。たとえば、ItemIdが1234に等しい場合、私はwww.website.com/showItem.php?itemId=1234をアドレス指定するためにクリック可能なリンクを作りたいと思います。カラムがまだ1234を表示しているが、私が言及したアドレスへのクリック可能なリンクである場合、最良の解決策があります。もちろん、リスト全体について、各アイテムは異なるitemIDプロパティを持っています。
誰かが私にそれを行うためのヒントや、私がベースにできるコードのサンプルを教えてもらえますか?
編集:
ソリューションは、以下の与えた私が適応されています。
しかし、ロジック側ではNavigateUriがnullになっているため、ブラウザで開いたリンクが正しくありません。
<GridViewColumn Width="100" Header="itemLink">
<GridViewColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding Path=itemId}" MouseDown="TextBlock_MouseDown"/>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
private void TextBlock_MouseDown(object sender, MouseButtonEventArgs e)
{
var urlPart2 = ((TextBlock)sender).Text;
//var urlPart = ((Hyperlink)sender).NavigateUri;
var fullUrl = string.Format("http://allegro.pl/show_item.php?item={0}", urlPart2);
Process.Start(new ProcessStartInfo(fullUrl));
e.Handled = true;
}
アプリケーションでWebサイトのページをロードするか、ブラウザで開く必要がありますか? – ASh
@ jan-kowalskiに問題が解決しましたか? – FriendlyGuy