0

私は一生、ListViewに行を追加する方法を理解できません。ListBox(行なし)でうまく機能するのに、なぜこれが機能しないのかわかりません..ここで本当に単純なものが欠けているように感じます。誰か助けてもらえますか?

編集:申し訳ありませんが、すべてのコードを貼り付けませんでした

<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>
4

1 に答える 1

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

幸運を

于 2013-09-25T18:36:37.740 に答える