私のプログラムでは、数値に設定されていTreeViewItem
ます。をストレートな値に変換するために、 という関数に渡します。Header
integer
Header
int
getNumber
私のgetNumber
機能:
この関数は、この以前に尋ねられた質問から来ています。
//Gets the number contained in a Node's header
public static int getNumber(string parentNodeHeader)
{
int curNumber = 0;
Int32.TryParse(parentNodeHeader, out curNumber);
return curNumber;
}
プログラムのいくつかの異なる領域で同じ方法でこの関数に渡しますが、そのうちの 1 つでstring
正しく渡されません。デバッガーでは、( ) は数値ではなく値としてparentNodeHeader
表示されます。"System.Windows.Controls.StackPanel"
なぜこれが起こっているのか分かりません。
関数への動作中の呼び出しと、動作していない呼び出しについて、同じコードを使用します。
int curNumber = getNumber(SelectedItem.Header.ToString());
なぜこれが起こるのでしょうか? どうすれば修正できますか?
アップデート:
getNumber
これを追加して、関数への呼び出しを変更しました...
var selectedHeader = (TextBlock)SelectedItem.Header; //The header is now a TextBlock
int curNumber = getNumber(selectedHeader.Text);
理論的にはこれは機能するはずですが、InvalidCastException
キャストできなかったというメッセージが表示さStackPanel
れTextBlock
ます。どこStackPanel
から来ている...?
ご協力いただきありがとうございます。