簡體   English   中英

MVVM中“按鈕單擊”上的用戶控件的調用方法

[英]Call method of a user control on Button click in MVVM

我有一個MVVM應用程序。 嗯,這是因為各種原因不完全是 100%純MVVM,但我試圖按照它的最重要的原則。

我想打電話給Foobar方法(這純粹執行鑒於相關的邏輯) MyUserControl包含在類MyUserControl.xaml.csButton的點擊。 ButtonMyUserControl實例都存在於同一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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM