[英]Call method of a user control on Button click in MVVM
我有一個MVVM應用程序。 嗯,這是因為各種原因不完全是 100%純MVVM,但我試圖按照它的最重要的原則。
我想打電話給Foobar
方法(這純粹執行鑒於相關的邏輯) MyUserControl
包含在類MyUserControl.xaml.cs
上Button
的點擊。 Button
和MyUserControl
實例都存在於同一PageView
(其數據上下文是一些不相關的視圖模型)。
<Button Click="Foobar"/>
不起作用,因為存根顯示在PageView.xaml.cs
而不是MyUserControl.xaml.cs
。
是否可以在XAML中將Button
的Click事件與Foobar
調用相關聯?
如果確實需要通過XAML進行操作,則可以嘗試將公共屬性ICommand添加到MyUserControl類,並在此命令中執行Foobar方法。 然后將其綁定到PageView的xaml中,如下所示:
<Button Command="{Binding ElementName=myUserControl, Path=FoobarCommand}" />
是的,這是可能的。 使用MVVM中應該使用的ICommand。 然后,您可以像這樣簡單地調用您的方法:
<Button Command={Binding CFoobar} .../>
使用CFoobar作為Viewmodel(DataContext)中方法的命令。 我希望我們正在談論同樣的問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.