Я объявляю пользовательский элемент управления в представлении. У Control есть свой собственный ViewModel, который я объявляю в XAML родительского представления. Я хотел бы передать значение в этот вид ViewModel с помощью привязки, но я не использую свойство зависимостей и скорее не буду. Есть ли способ сделать это? или мне понадобится долгая переделка?Передача параметров в пользовательский контроль ViewModel, MVVM
Декларация ребенка ViewModel, включая связывание, что не работает:
<Window.Resources>
<uc:PagerViewModel x:Key="PagerDataContext" PagesContent="{Binding DisplayedRawData}">
</uc:PagerViewModel>
<Window.Resources>
декларация таможенного контроля:
<uc:Pager Grid.Row="1" DataContext="{StaticResource PagerDataContext }"/>
Детский ViewModel relivent Код:
public string PagesContent
{
get
{
return _pagesContent;
}
set
{
_pagesContent = value;
OnPropertyChanged("PagesContent");
}
}
private string _pagesContent = string.Empty;
Я знаю, как это сделать, но не с ресурсами. Это когда вы устанавливаете элементы управления DataContext ViewModel, а затем выполняете связывание с родственниками. :) –
Несомненно, это может сработать. Мне действительно нравится идея объявлять мои ViewModels как ресурсы xaml. Если я не смогу придумать другое решение, которое, вероятно, я сделаю. – CThin
Ну, я бы использовал библиотеку Caliburn.Micro, чтобы подключить мои ViewModels к элементам управления вместо использования ресурсов. TBH, я не вижу в этом преимущества, кроме использования его с CollectionViewSource. –