Я работаю в проекте WPF, я использую скороговорку MVVM в моем проекте.
Я создал пользовательский элемент управления (также в WPF) и хочу использовать его в своем проекте. Теперь моя проблема заключается в том, что в моем пользовательском элементе управления есть метод, который мне нужно вызывать из моей модели представления, но я не не знаю, как это сделать, как привязать метод внутри моего элемента управления из модели представления.
Если я использую код позади, очевидно, что нет никаких проблем, так как у меня есть прямая ссылка на мой элемент управления, поэтому я могу сделать "mycontrol.MyMethod ();" m, но, конечно, выполнение таким образом пойдет против логика паттерна MVVM.
Я попытался использовать свойство зависимости в своем пользовательском элементе управления и использовать это свойство зависимости для привязки к нему в xaml моего проекта, но оно не сработало, компилятор говорит, что свойство не найдено или не сериализуемо .
Поэтому я буду признателен, если кто-нибудь расскажет о том, как мне этого добиться.
1012 * Отредактированный *
Насколько я понимаю, у вас есть представление, которое представляет собой весь GUI, тогда у вас есть модель, которая является всей логикой, и у них есть модель представления, которая похожа на промежуточный слой, используемый для связывания представления с моделью, верно?
Таким образом, я разработал свой проект, однако я столкнулся с проблемой, что мне нужен пользовательский элемент управления, TextBox, который помнит, что пользователь ввел, и когда он начинает печатать, если есть слова, начинающиеся с этой буквы, эти слова показаны в качестве предложения, как это делает Google.
Этот TextBox используется в качестве поискового фильтра; поэтому я создал для этого пользовательский элемент управления и добавил в свой пользовательский элемент метод, позволяющий любому приложению, использующему этот элемент управления, добавлять элементы во внутренний массив, содержащий все строки, введенные пользователем.
Я создал пользовательский элемент управления, потому что не смог найти элемент управления, который ведет себя так, как я хочу.
Так что моя проблема в том, когда я добавляю свой пользовательский элемент управления в основной проект, потому что мне нужно каким-то образом иметь возможность вызывать метод, который добавляет элементы во внутренний массив, но, возможно, я делаю вещи неправильно, поэтому если у кого-то из вас есть идея получше, я буду признателен, если вы поделитесь ею со мной.