使用对象绑定ListView

时间:2016-03-09 15:16:25

标签: c# wpf mvvm

我正在尝试将ListView与TestRow类绑定,如下所示

  <Grid Background="White">
        <ListView ItemsSource="{Binding BindingTest}" HorizontalAlignment="Left" Height="176" Margin="49,41,0,0" VerticalAlignment="Top" Width="197">
            <ListView.View>
                <GridView>
                    <GridViewColumn/>
                </GridView>
            </ListView.View>
        </ListView>
    </Grid>


  public ObservableCollection<TestRow> BindingTest
         => ListToObservableCollection<TestRow>.ObservableCollectionFromList(new List<TestRow>
         {
                new TestRow(1, "jack"),
                new TestRow(2, "mark")
         });

启动后ListView显示&#34; XXXX.TestoRow&#34;两次。但是,当我绑定List<int>时,它正在发挥作用。 然后我如何将自己的对象绑定到ListView?

1 个答案:

答案 0 :(得分:3)

使用DisplayMemberPath。如果TestRow有字段:

class TestRow
{
  public int Index {get;set;}
  public string Name {get;set;}
}

然后使用

    <ListView ItemsSource="{Binding BindingTest}" DisplayMemberPath="Name" HorizontalAlignment="Left" Height="176" Margin="49,41,0,0" VerticalAlignment="Top" Width="197">

和选定的值将是TestRow。