2013-09-25 2 views
0

Я не могу на всю жизнь понять, как добавить строки в ListView. Я не понимаю, почему это не работает, когда он отлично работает для ListBox (без строк). Я чувствую, что мне не хватает чего-то действительно простого здесь, может кто-то мне помочь?WPF/C#, Добавление строк в GridView после добавления столбцов

EDIT: не вставить весь код жалкую

<ListView Margin="10" Name="lvUsers"> 
     <ListView.View> 
       <GridView> 
         <GridViewColumn Header="Name" Width="120" /> 
         <GridViewColumn Header="Age" Width="50" /> 
         <GridViewColumn Header="Mail" Width="150" /> 
       </GridView> 
     </ListView.View> 


<StackPanel Orientation="Horizontal" Height="45"> <!--Stacks Items Horizontally--> 
          <ComboBox Width="100" Height="30"> 
           <ComboBoxItem IsSelected="True">DirecTV</ComboBoxItem> 
           <ComboBoxItem>Hyundai</ComboBoxItem> 
           <ComboBoxItem>None</ComboBoxItem> 
          </ComboBox> 
          <TextBox Width="445" Height="30" Text="Follow RedZone on Twitter" VerticalContentAlignment="Center"/> 
          <CheckBox IsChecked="True" VerticalAlignment="Center"> 
           <CheckBox.LayoutTransform> 
            <ScaleTransform ScaleX="1.5" ScaleY="1.5"></ScaleTransform> 
           </CheckBox.LayoutTransform> 
          </CheckBox> 
         <Button Content="Delete" Height="Auto" Width="Auto" HorizontalAlignment="Right" VerticalAlignment="Top" VerticalContentAlignment="Top"/> 
        </StackPanel> 
</ListView> 
+2

Вы не добавляете строки в GridView. Вы 'BIND' ItemsSource для некоторого соответствующего набора элементов данных. и пусть WPF обрабатывает элементы пользовательского интерфейса. –

+0

whr is listview? – Nitin

+0

Где находится Listview? – Sajeetharan

ответ

1

Как указано в разделе комментариев, связав свой ListView (хотя ваш код выглядит, как вы стремитесь к DataGrid) в какой-то коллекции, и это будет создайте «строку» для каждого элемента коллекции.

Вы можете определить столбцы и привязать их к свойствам ваших элементов

<DataGrid Margin="10" Name="lvUsers" ItemsSource="{Binding YourCollection}"> 
     <DataGrid.Columns> 
      <DataGridTextColumn Binding="{Binding Name}"/> 
      <DataGridTextColumn Binding="{Binding Age}"/> 
      <DataGridTextColumn Binding="{Binding Mail}"/> 
     </DataGrid.Columns>  
    </DataGrid> 

Кроме того, необходимо установить DataContext окна в классе, содержащий коллекцию (известный как ViewModel)

<Window.DataContext> 
    <local:MyViewModel/> 
</Window.DataContext> 

Если не знаком с MVVM или креплениями, вот некоторые ссылки, чтобы вы начали

MVVM:

http://msdn.microsoft.com/en-us/magazine/dd419663.aspx

http://www.codeproject.com/Articles/36545/WPF-MVVM-Model-View-View-Model-Simplified

http://www.codeproject.com/Articles/165368/WPF-MVVM-Quick-Start-Tutorial

Наручники:

http://www.codeproject.com/Articles/140621/WPF-Tutorial-Concept-Binding

http://msdn.microsoft.com/en-us/library/ms752347.aspx

Успехов

Смежные вопросы