Updating ListView from Deserializing object
I have a WPF application where I can add persons. They'll show up in a listview. Every time I add someone they appear. However, if I try too load a file the view will not refresh.
Persons = new List<Person>();
UsersListView.ItemsSource = Persons;
View = (CollectionView)CollectionViewSource.GetDefaultView(UsersListView.ItemsSource);
if (File.Exists("Persons.bin"))
{
Persons = (List<Person>) Utils.Deserialize("Persons.bin");
// The Persons list gets populated however, it doesn't show up in my view.
View.Refresh();
}
private void AddPersonButton_Click(object sender, RoutedEventArgs e)
{
if (ValidateInfo())
{
Person person = new Person(FirstNameTextBox.Text, LastNameTextBox.Text, Convert.ToInt32(AgeTextBox.Text));
View.Refresh();
Utils.Serialize(Persons, "Persons.bin");
}
}
When I add a person via the button they view will refresh and they appear, but when I close and open the application the persons will not show up ever if my Persons list is populated.
c# wpf
New contributor
add a comment |
I have a WPF application where I can add persons. They'll show up in a listview. Every time I add someone they appear. However, if I try too load a file the view will not refresh.
Persons = new List<Person>();
UsersListView.ItemsSource = Persons;
View = (CollectionView)CollectionViewSource.GetDefaultView(UsersListView.ItemsSource);
if (File.Exists("Persons.bin"))
{
Persons = (List<Person>) Utils.Deserialize("Persons.bin");
// The Persons list gets populated however, it doesn't show up in my view.
View.Refresh();
}
private void AddPersonButton_Click(object sender, RoutedEventArgs e)
{
if (ValidateInfo())
{
Person person = new Person(FirstNameTextBox.Text, LastNameTextBox.Text, Convert.ToInt32(AgeTextBox.Text));
View.Refresh();
Utils.Serialize(Persons, "Persons.bin");
}
}
When I add a person via the button they view will refresh and they appear, but when I close and open the application the persons will not show up ever if my Persons list is populated.
c# wpf
New contributor
Re-set theItemsSource
:UsersListView.ItemsSource = (List<Person>) Utils.Deserialize("Persons.bin");
– mm8
Dec 27 '18 at 16:00
Oh, that makes sense, because if the file exists I dont set the ItemsSource. So there is nothing to Refresh
– William Persson
Dec 27 '18 at 16:02
add a comment |
I have a WPF application where I can add persons. They'll show up in a listview. Every time I add someone they appear. However, if I try too load a file the view will not refresh.
Persons = new List<Person>();
UsersListView.ItemsSource = Persons;
View = (CollectionView)CollectionViewSource.GetDefaultView(UsersListView.ItemsSource);
if (File.Exists("Persons.bin"))
{
Persons = (List<Person>) Utils.Deserialize("Persons.bin");
// The Persons list gets populated however, it doesn't show up in my view.
View.Refresh();
}
private void AddPersonButton_Click(object sender, RoutedEventArgs e)
{
if (ValidateInfo())
{
Person person = new Person(FirstNameTextBox.Text, LastNameTextBox.Text, Convert.ToInt32(AgeTextBox.Text));
View.Refresh();
Utils.Serialize(Persons, "Persons.bin");
}
}
When I add a person via the button they view will refresh and they appear, but when I close and open the application the persons will not show up ever if my Persons list is populated.
c# wpf
New contributor
I have a WPF application where I can add persons. They'll show up in a listview. Every time I add someone they appear. However, if I try too load a file the view will not refresh.
Persons = new List<Person>();
UsersListView.ItemsSource = Persons;
View = (CollectionView)CollectionViewSource.GetDefaultView(UsersListView.ItemsSource);
if (File.Exists("Persons.bin"))
{
Persons = (List<Person>) Utils.Deserialize("Persons.bin");
// The Persons list gets populated however, it doesn't show up in my view.
View.Refresh();
}
private void AddPersonButton_Click(object sender, RoutedEventArgs e)
{
if (ValidateInfo())
{
Person person = new Person(FirstNameTextBox.Text, LastNameTextBox.Text, Convert.ToInt32(AgeTextBox.Text));
View.Refresh();
Utils.Serialize(Persons, "Persons.bin");
}
}
When I add a person via the button they view will refresh and they appear, but when I close and open the application the persons will not show up ever if my Persons list is populated.
c# wpf
c# wpf
New contributor
New contributor
edited Dec 27 '18 at 16:43
marc_s
570k12811031251
570k12811031251
New contributor
asked Dec 27 '18 at 15:58
William Persson
183
183
New contributor
New contributor
Re-set theItemsSource
:UsersListView.ItemsSource = (List<Person>) Utils.Deserialize("Persons.bin");
– mm8
Dec 27 '18 at 16:00
Oh, that makes sense, because if the file exists I dont set the ItemsSource. So there is nothing to Refresh
– William Persson
Dec 27 '18 at 16:02
add a comment |
Re-set theItemsSource
:UsersListView.ItemsSource = (List<Person>) Utils.Deserialize("Persons.bin");
– mm8
Dec 27 '18 at 16:00
Oh, that makes sense, because if the file exists I dont set the ItemsSource. So there is nothing to Refresh
– William Persson
Dec 27 '18 at 16:02
Re-set the
ItemsSource
: UsersListView.ItemsSource = (List<Person>) Utils.Deserialize("Persons.bin");
– mm8
Dec 27 '18 at 16:00
Re-set the
ItemsSource
: UsersListView.ItemsSource = (List<Person>) Utils.Deserialize("Persons.bin");
– mm8
Dec 27 '18 at 16:00
Oh, that makes sense, because if the file exists I dont set the ItemsSource. So there is nothing to Refresh
– William Persson
Dec 27 '18 at 16:02
Oh, that makes sense, because if the file exists I dont set the ItemsSource. So there is nothing to Refresh
– William Persson
Dec 27 '18 at 16:02
add a comment |
1 Answer
1
active
oldest
votes
You should set the ItemsSource
property to the new deserialized collection:
if (File.Exists("Persons.bin"))
{
Persons = (List<Person>) Utils.Deserialize("Persons.bin");
UsersListView.ItemsSource = Persons;
}
You may also want to look into data binding: https://docs.microsoft.com/en-us/dotnet/framework/wpf/data/data-binding-wpf
I'll accept the right answear as soon as I can. Notcied how ever, when I load the file it won't refresh my view with a new entry .
– William Persson
Dec 27 '18 at 16:05
That's because you don't serialize the new entry and save it to the file. But that's another story really.
– mm8
Dec 27 '18 at 16:07
add a comment |
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
William Persson is a new contributor. Be nice, and check out our Code of Conduct.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53947687%2fupdating-listview-from-deserializing-object%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
You should set the ItemsSource
property to the new deserialized collection:
if (File.Exists("Persons.bin"))
{
Persons = (List<Person>) Utils.Deserialize("Persons.bin");
UsersListView.ItemsSource = Persons;
}
You may also want to look into data binding: https://docs.microsoft.com/en-us/dotnet/framework/wpf/data/data-binding-wpf
I'll accept the right answear as soon as I can. Notcied how ever, when I load the file it won't refresh my view with a new entry .
– William Persson
Dec 27 '18 at 16:05
That's because you don't serialize the new entry and save it to the file. But that's another story really.
– mm8
Dec 27 '18 at 16:07
add a comment |
You should set the ItemsSource
property to the new deserialized collection:
if (File.Exists("Persons.bin"))
{
Persons = (List<Person>) Utils.Deserialize("Persons.bin");
UsersListView.ItemsSource = Persons;
}
You may also want to look into data binding: https://docs.microsoft.com/en-us/dotnet/framework/wpf/data/data-binding-wpf
I'll accept the right answear as soon as I can. Notcied how ever, when I load the file it won't refresh my view with a new entry .
– William Persson
Dec 27 '18 at 16:05
That's because you don't serialize the new entry and save it to the file. But that's another story really.
– mm8
Dec 27 '18 at 16:07
add a comment |
You should set the ItemsSource
property to the new deserialized collection:
if (File.Exists("Persons.bin"))
{
Persons = (List<Person>) Utils.Deserialize("Persons.bin");
UsersListView.ItemsSource = Persons;
}
You may also want to look into data binding: https://docs.microsoft.com/en-us/dotnet/framework/wpf/data/data-binding-wpf
You should set the ItemsSource
property to the new deserialized collection:
if (File.Exists("Persons.bin"))
{
Persons = (List<Person>) Utils.Deserialize("Persons.bin");
UsersListView.ItemsSource = Persons;
}
You may also want to look into data binding: https://docs.microsoft.com/en-us/dotnet/framework/wpf/data/data-binding-wpf
answered Dec 27 '18 at 16:02
mm8
81.4k81831
81.4k81831
I'll accept the right answear as soon as I can. Notcied how ever, when I load the file it won't refresh my view with a new entry .
– William Persson
Dec 27 '18 at 16:05
That's because you don't serialize the new entry and save it to the file. But that's another story really.
– mm8
Dec 27 '18 at 16:07
add a comment |
I'll accept the right answear as soon as I can. Notcied how ever, when I load the file it won't refresh my view with a new entry .
– William Persson
Dec 27 '18 at 16:05
That's because you don't serialize the new entry and save it to the file. But that's another story really.
– mm8
Dec 27 '18 at 16:07
I'll accept the right answear as soon as I can. Notcied how ever, when I load the file it won't refresh my view with a new entry .
– William Persson
Dec 27 '18 at 16:05
I'll accept the right answear as soon as I can. Notcied how ever, when I load the file it won't refresh my view with a new entry .
– William Persson
Dec 27 '18 at 16:05
That's because you don't serialize the new entry and save it to the file. But that's another story really.
– mm8
Dec 27 '18 at 16:07
That's because you don't serialize the new entry and save it to the file. But that's another story really.
– mm8
Dec 27 '18 at 16:07
add a comment |
William Persson is a new contributor. Be nice, and check out our Code of Conduct.
William Persson is a new contributor. Be nice, and check out our Code of Conduct.
William Persson is a new contributor. Be nice, and check out our Code of Conduct.
William Persson is a new contributor. Be nice, and check out our Code of Conduct.
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Some of your past answers have not been well-received, and you're in danger of being blocked from answering.
Please pay close attention to the following guidance:
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53947687%2fupdating-listview-from-deserializing-object%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Re-set the
ItemsSource
:UsersListView.ItemsSource = (List<Person>) Utils.Deserialize("Persons.bin");
– mm8
Dec 27 '18 at 16:00
Oh, that makes sense, because if the file exists I dont set the ItemsSource. So there is nothing to Refresh
– William Persson
Dec 27 '18 at 16:02