MVVM中XAML与代码隐藏之间的Xamarin通信



我在使用数据绑定的XAML中访问MVVM属性没有问题,例如

<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
x:Class="xxxProject.xxxView"
x:DataType="xxxViewModel"
xmlns:viewmodels="clr-xxxProject.ViewModels"
>
<ContentPage.Content>
<StackLayout>

<Label Text="{Binding myProperty}" />
...

但是我如何访问我的视图代码背后的东西?我是否通过使用视图模型丢失了两者之间的链接?

namespace xxxProject
{
[XamlCompilation(XamlCompilationOptions.Compile)]
public partial class xxxView: ContentPage
{
public string ACCESS_ME = "hello";
public xxxView()
{
InitializeComponent();
BindingContext = new xxxViewModel();
}
}
}

如何访问"ACCESS_ME">

?

当您使用MVVM时,XAML和Page.cs之间的通信仍然存在。

您仍然可以在xaml中为控件指定一个名称,例如:

<Button Text="Test" Clicked="Button_Clicked" x:Name="test"/>

然后在page.cs中做一些你想做的事情,比如:

private void Button_Clicked(object sender, EventArgs e)
{
test.Text = ACCESS_ME;
}

最新更新