Как обновить Listview MVVM - PullRequest
0 голосов
/ 12 мая 2018

ViewModel:

public DataView List { get { return _list; } set { _list = value; NotifyOfPropertyChange("List"); } }
         <...>
    DataTable dt = new DataTable();
                using (SqlConnection connection = new SqlConnection(ConfigurationManager.ConnectionStrings["X"].ConnectionString))
                {
                    SqlDataAdapter adapter = new SqlDataAdapter();
                    adapter.SelectCommand = new SqlCommand("Select * from Employees", connection);
                    adapter.Fill(dt);
                }
                List = dt.DefaultView;

XAML:

 <ListView  ItemsSource="{Binding List}">
        <ListView.DataContext>
            <local:TestViewModel/>
        </ListView.DataContext>

        <ListView.View>
            <GridView>
                <GridViewColumn DisplayMemberBinding="{Binding Path=Login}" Header="Name" Width="100"/>
                <GridViewColumn DisplayMemberBinding="{Binding Path=password}" Header="Password" Width="100"/>
                <GridViewColumn DisplayMemberBinding="{Binding Path=Permission}" Header="Permission" Width="110"/>
                <GridViewColumn DisplayMemberBinding="{Binding Path=locked_account}" Header="Is account locked" Width="150"/>
            </GridView>
        </ListView.View>
    </ListView>

Моя команда:

  List.Delete(2);

Команда выше, кажется, работает, однако я не могучтобы увидеть изменения в режиме реального времени, так как мне обновить список / просмотр данных?.

1 Ответ

0 голосов
/ 12 мая 2018

Используйте observableCollection для этой цели.
В вашем случае переменная List должна быть ObservableCollection<YourObject> Смотрите эту ссылку для получения дополнительной информации.
https://www.c -sharpcorner.com / UploadFile / e06010 / ObservableCollection-в-МОФ /

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...