freshmvvm フレームワークで xamarin フォームを使用しています。
xaml の使用をスキップして、C# のコード ビハインドからバインド データにアクセスする方法を知りたいです。
役立つコードサンプルはありますか?
freshmvvm フレームワークで xamarin フォームを使用しています。
xaml の使用をスキップして、C# のコード ビハインドからバインド データにアクセスする方法を知りたいです。
役立つコードサンプルはありますか?
これはMVVMの原則に反しますが、もちろんそれを行う方法があります。
MVVM フレームワークがなければ、手動で ViewModel を作成し、BindingContext
(ドキュメント) を自分で設定するだけです。(これに関して)MVVMフレームワークがあなたのために行う「唯一の」ことは、自動的にバインドするように設定されているため、同じコードを何度も書くことに煩わされることはありません。
したがって、この ViewModel があると想像してください。FreshMvvm の命名に一致するように PageModel を使用していることに注意してください。
// SamplePageModel.cs
public class SamplePageModel
{
public string Foo { get; set; } = "Bar";
}
今私のページで、次のように BindingContext を設定します。
// SamplePage.cs
// ... Skipped code, just constructor here:
public SamplePage()
{
InitializeComponent();
BindingContext = new SamplePageModel();
}
の任意のプロパティにバインドできるようになりましSamplePageModel
た。
FreshMvvm はこの部分を自動的に行います。何らかの理由で ViewModel/PageModel に直接アクセスしたい場合は、逆の手順を実行してください。ページまたはコード ビハインドのどこかで、次のことができます。
// ... Some code here
var pageModel = BindingContext as SamplePageModel;
// ... More code here
pageModel
そこにない場合null
は、データがバインドされ、満たされた PageModel があります。