<ListView x:Name="listView2" HorizontalAlignment="Left" Height="215" Margin="348,10,0,0" VerticalAlignment="Top" Width="275">
<ListView.View>
<GridView>
<GridViewColumn Header="Id" DisplayMemberBinding="{Binding Id}"/>
<GridViewColumn Header="Artikelnr" DisplayMemberBinding="{Binding Artikelnr}"/>
<GridViewColumn Header="Bezeichnung" DisplayMemberBinding="{Binding Bezeichnung}"/>
<GridViewColumn Header="Menge">
<GridViewColumn.CellTemplate>
<DataTemplate>
<TextBox x:Name="textBoxListView1" Width="80" Tag="{Binding Menge}"/>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
</GridView>
</ListView.View>
</ListView>
これは、テキストボックスを含むListViewです。したがって、行と同じ数のテキストボックスがあります。 私の質問は、どのようにこれらのテキストボックスの内容を取得できますか?listViewにあるテキストボックスの内容を取得します。WPF
は、私はすでに試したこの:
MyItem clMyItem = new MyItem();
clMyItem = (MyItem)listView2.Items.GetItemAt(zeile);
clArtikel.nId = Convert.ToInt32(clMyItem.Id);
clArtikel.cArtikelnr = clMyItem.Artikelnr;
clArtikel.cBezeichnung = clMyItem.Bezeichnung;
clArtikel.nMenge = clMyItem.Menge;
しかしclMyItem.Menge
のが唯一のこのコードは唯一のテキストボックスを作成した直後の状態でテキストボックスの内容を取得するためか、null値を返します。
"おそらくこのコードは、テキストボックスが作成された直後の状態でテキストボックスの内容のみを取得するためです。"だから、正確にTextBox値を取得したいのですか?おそらくテキストが入力された後です。コードを呼び出してください。メモとして、すぐに別の値を代入すると 'clMyItem = new MyItem()'は冗長です。 – Clemens