2017-01-07 6 views
0

DataGrid(DataGridViewではなく)を使用して情報を表示し、一度aを押すと、保存ボタンが表示されます。すべてのデータをリストボックスの列に移動します。C#DataGrid(Not DataGridView)からテキストを抽出するにはどうすればよいですか?

ヘルプが必要ですみんな! :D

EDIT:(ここで私は以下の列からデータを読み取ることがしたいコードがあります) 私はこれを試してみました:MessageBox.Show(SMLDataGrid.Items[0].ToString()); なし.Valueオプションのいずれか...または私は

を見てきたことに類似したものはありません
<DataGrid x:Name="SMLDataGrid" CanUserSortColumns="True" CanUserAddRows="False" AutoGenerateColumns="False" 
     materialDesign:DataGridAssist.CellPadding="13 8 8 8" materialDesign:DataGridAssist.ColumnHeaderPadding="8" VerticalAlignment="Top"> 
     <DataGrid.Columns> 
      <DataGridTextColumn Binding="{Binding BaseIn}" 
       Header="Base" x:Name="GrammarBaseColumn" 
       EditingElementStyle="{StaticResource MaterialDesignDataGridTextColumnEditingStyle}"/> 
      <DataGridTextColumn Binding="{Binding PastIn}" 
       Header="Past Form" x:Name="GrammarPastColumn" 
       EditingElementStyle="{StaticResource MaterialDesignDataGridTextColumnEditingStyle}"/> 
      <DataGridTextColumn Binding="{Binding PastPIn}" 
       Header="Past Participle Form" x:Name="GrammarPastPColumn" 
       EditingElementStyle="{StaticResource MaterialDesignDataGridTextColumnEditingStyle}"/> 
      <DataGridTextColumn Binding="{Binding IesIn}" 
       Header="Plural Form" x:Name="GrammarIngColumn" 
       EditingElementStyle="{StaticResource MaterialDesignDataGridTextColumnEditingStyle}"/> 
      <DataGridTextColumn Binding="{Binding IngIn}" 
       Header="Verb Form" x:Name="GrammarIesColumn" 
       EditingElementStyle="{StaticResource MaterialDesignDataGridTextColumnEditingStyle}"/> 
     </DataGrid.Columns> 
    </DataGrid> 

編集:私はこれを通じてだけでなく、別のリストに保存ボタンを押し時のDataGridのItemSourceを割り当てる試してみた:

ListBox a = new ListBox(); 
a.ItemsSource = SMLDataGrid.Items; 
MessageBox.Show(a.Items[0].ToString()); 

しかし、メッセージボックスには、ファイルの名前を示し+ NA私はすべての文字列を保持するクラスの私..

+0

http://stackoverflow.com/help/how-to-ask downvotesといい答えが必要な場合は、質問を編集してください。 – Markinson

+2

すべてのデータを保持するクラスを作成してください。クラスをDataGridにバインドします。ユーザーが[保存]を押すと、リストボックスをクラスにバインドします。保存した後でDataGridのデータを必要としない場合は、クラスのDataGridへのバインディングを削除します。 – CodingYoshi

+0

私たちにより多くの情報を提供していない場合、あなたが持っているいくつかのコードを提供してください... –

答えて

1

あなたはおそらくIEnumerable<YourClass>にItemsSourceプロパティを設定する必要があります(必要がない場合)YourClassは、BaseIn、PastIn、PastPIn、 ...プロパティが定義されています。リストボックスはしかししかし、あなたはあなたの代わりにGridViewコントロールとListViewコントロールを使用することができやろうとしているかに応じて、列の概念がありません

listBox.ItemsSource = SMLDataGrid.ItemsSource; 

var ic = SMLDataGrid.Items.OfType<YourClass>().ToList(); 
MessageBox.Show(ic[0].BaseIn); 

あなたは同じようにリストボックスののItemsSourceを設定することができます。 http://www.wpf-tutorial.com/listview-control/listview-with-gridview

+0

ありがとう!それは問題を解決した... –

関連する問題