С# MVVM WPF TreeView с флажком не заполняетсяC#

Место общения программистов C#
Ответить
Anonymous
 С# MVVM WPF TreeView с флажком не заполняется

Сообщение Anonymous »

Моя проблема заключается в том, что когда я пытался динамически создать TreeView с флажком, но TreeView пуст.
После некоторых исследований я попробовал это:
Вот мое древовидное представление в XAML Вот моя модель представления

Код: Выделить всё

namespace AsurEnvironnement.SynchronisationModule.ViewModels
{
public class Synchronisation2UserControlViewModel : ViewModelBase
{
[...]
public ObservableCollection Root = new ObservableCollection();
ObservableCollection rootAChildrens = new ObservableCollection();
[...]
public override async Task InitializeStepAsync()
{

try
{
ObservableCollection rootAChildrens = new ObservableCollection();
ObservableCollection rootBChildrens = new ObservableCollection();

CheckableItem rootA = new CheckableItem() { Name = "RootA" };
CheckableItem childrenA1 = new CheckableItem() { Name = "ChildrenA1" };
CheckableItem childrenA2 = new CheckableItem() { Name = "ChildrenA2" };
rootAChildrens.Add(childrenA1);
rootAChildrens.Add(childrenA2);
rootA.Childrens = rootAChildrens;

CheckableItem rootB = new CheckableItem() { Name = "RootB" };
CheckableItem childrenB1 = new CheckableItem() { Name = "ChildrenB1" };
rootBChildrens.Add(childrenB1);
rootB.Childrens = rootBChildrens;

CheckableItem rootC = new CheckableItem() { Name = "RootC" };

Root.Add(rootA);
Root.Add(rootB);
Root.Add(rootC);

[...]
}
catch (Exception ex)
{
ProcessSnackBar(ex.Message);
_logger.LogError(ex.Message, ex);
}
finally
{
[...]
}
}
[...]
}
Вот моя модель

Код: Выделить всё

namespace AsurEnvironnement.SynchronisationModule.Models
{
public class CheckableItem : DataModelBase, INotifyPropertyChanged
{
private bool? _isChecked;
public ObservableCollection  Childrens;
public bool? IsChecked
{
get { return _isChecked; }

set
{
_isChecked = value;
foreach(CheckableItem children in Childrens)
{
children.IsChecked = true;
}
}
}

public string Name { get; set; }
}
}
Я пытался проверить с помощью Console.WriteLine(TrwDonneesXml.HasItems);, чтобы узнать, существуют ли данные, но их нельзя увидеть, но результат ложный, поэтому я зарегистрировался режим отладки TrwDonneesXml.ItemsSource имеет значение null.
Но я действительно не понимаю, почему.

Подробнее здесь: https://stackoverflow.com/questions/786 ... t-populate
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»