Привязка коллекции к WPF ListBox с помощью ReactiveUIC#

Место общения программистов C#
Anonymous
Привязка коллекции к WPF ListBox с помощью ReactiveUI

Сообщение Anonymous »

Сейчас я изучаю ReactiveUI и пытаюсь понять, как привязать коллекцию к ListBox в WPF. Я уже понимаю шаблон MVVM и несколько лет назад смог сделать то же самое в MVVM Light, но ReactiveUI оказывается сложнее. Мне не удалось найти слишком много простых примеров, только запутанные, которые не очень хорошо демонстрируют основы. Кроме того, многие ответы, которые я нашел в Stack Overflow, очень старые, поэтому они не используют новые библиотеки динамических данных, которые ReactiveUI рекомендует в настоящее время.
Я работаю над очень простое приложение WPF, пока я пытаюсь изучить основы.
У меня есть простое представление под названием TextBlockView: Вот код программной части:

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

using MvvmSandbox.ViewModels;
using ReactiveUI;
using System.Reactive.Disposables;

namespace MvvmSandbox.Views
{
public partial class TextBlockView : ReactiveUserControl
{
public TextBlockView()
{
InitializeComponent();
ViewModel = new TextBlockViewModel();

this.WhenActivated(disposable =>
{
this.Bind(ViewModel, vm => vm.String, v => v.String.Text)
.DisposeWith(disposable);
});
}
}
}
А вот модель представления:

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

using ReactiveUI;
using System.Collections.ObjectModel;

namespace MvvmSandbox.ViewModels
{
public class ListBoxViewModel : ReactiveObject
{
public ObservableCollection Strings => _strings;
private ObservableCollection _strings;

public ListBoxViewModel()
{
_strings = new ObservableCollection()
{
"This is a test of the Emergency Broadcast System.",
"This is only a test."
};
}
}
}
В представлении отображаются элементы, но они свернуты до минимальной высоты и не отображают сами строки; здесь вы можете увидеть синюю ограничительную рамку для первого элемента.

Подробнее здесь: https://stackoverflow.com/questions/790 ... reactiveui

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