1
我在視圖中聲明瞭一個自定義控件。該控件有自己的ViewModel,我在父視圖的XAML中聲明。我想通過綁定將值傳遞給此子ViewModel,但我沒有使用依賴屬性,寧願不要。有沒有辦法去解決這個問題?還是我需要大量的返工?將參數傳遞給自定義控件ViewModel,MVVM
宣言子視圖模型包括綁定不起作用:
<Window.Resources>
<uc:PagerViewModel x:Key="PagerDataContext" PagesContent="{Binding DisplayedRawData}">
</uc:PagerViewModel>
<Window.Resources>
宣言自定義控件:
<uc:Pager Grid.Row="1" DataContext="{StaticResource PagerDataContext }"/>
子視圖模型relivent代碼:
public string PagesContent
{
get
{
return _pagesContent;
}
set
{
_pagesContent = value;
OnPropertyChanged("PagesContent");
}
}
private string _pagesContent = string.Empty;
我知道如何去做,但沒有使用資源。這是當你設置你的控件DataContext ViewModel,然後做一個綁定relativesource。 :) –
當然,這可以工作。我確實很喜歡將我的ViewModel聲明爲xaml資源的想法。如果我無法想出一個不同的解決方案,那可能是我會做的。 – CThin
嗯,我實際上使用Caliburn.Micro庫來連接我的ViewModels到控件而不是使用Resources。 TBH,除了在CollectionViewSource中使用它之外,我沒有看到它的好處。 –