いくつかの文字列(className & classID)を渡して、ユーザーがクリックしたハイパーリンクに基づいて異なる変数(classNameClicked & classIDClicked)に格納しようとしています。ここで 文字列を渡して保存する
は、ハイパーリンクを作成するための(C#の)背後に私のコードです:TextBlock txt = new TextBlock();
txt.TextWrapping = TextWrapping.Wrap;
txt.Foreground = Brushes.Black;
txt.FontFamily = new FontFamily("Times New Roman");
txt.FontSize = 25;
txt.Margin = new Thickness(5);
TextBlock ClassID = new TextBlock();
ClassID.Visibility = Visibility.Collapsed;
ClassID.Text = classID;
Run run = new Run(className);
Hyperlink link = new Hyperlink(run);
link.Click += Link_Click;
txt.Inlines.Add(ClassID);
txt.Inlines.Add(link);
myStackPanel.Children.Add(txt);
frame.Content = myStackPanel;
私は以下のコードを使用してハイパーリンクからテキストを抽出することによってclassNameClickedするクラス名から文字列を渡すことができました:
しかし、classIDから文字列を抽出する方法はわかりません。 助けてください。
送信者がハイパーリンクとテキストボックスの両方になることはできないため、null参照例外が発生します。私はコントロールごとに別々の 'Click'ハンドラを持ち、別のメソッドで(共有)コードの残りの部分を持っています。 –
@DStanley私はOPが 'ハイパーリンク 'がクリックされたときに' className'と 'classID'を一度に取得したいと思います。 2つの別々の 'Click'ハンドラーはおそらくこのシナリオでは役に立たないでしょう。しかし、Matによって言及されているように、MVVMは確かに最高のソリューションになるでしょう。 – haindl