0

これは、2つのテキストブロックをアイテムとしてリストボックスに追加する方法です。

Dim StkP As New StackPanel
StkP.Name = "Stack"

Dim txtLine_1 As New TextBlock
txtLine_1.FontSize = 24
txtLine_1.Name = "txtLine_1"
txtLine_1.Text = "Units " + txtUnits_1.Text + ", Cost " + txtCost_1.Text

Dim txtLine_2 As New TextBlock
txtLine_2.FontSize = 24
txtLine_2.Name = "txtLine_2"
txtLine_2.Text = txtResult_1.Text

StkP.Children.Add(txtLine_1)
StkP.Children.Add(txtLine_2)

ListCompare.Items.Add(StkP)

しかし、vb.netのリストボックスをタップしたときに選択したアイテムの値を取得するにはどうすればよいですか?

このコードを試しました

Dim lbi As ListBoxItem = ListScore.ItemContainerGenerator.ContainerFromIndex(ListScore.SelectedIndex)
Dim stk As StackPanel = lbi.Content
Dim rs_1 As TextBlock = stk.FindName("lblScore_1")
Score_1.Text = rs_1.Text

ただし、常に「lblScore_1」の最後の入力を返します。

ヘルプ

4

1 に答える 1

0

あなたがする必要があります:
- 選択したアイテムを取ります。
- StackPanel にキャストします。
- スタックパネルの子にアクセスします。
- 子アイテムを TextBlocks にキャストし、必要に応じてそれらのプロパティを読み取ります

データバインディングを使用すると、これがはるかに簡単になります。

于 2012-05-15T08:26:15.197 に答える