我想要XAML文本视图中c#类的属性。这该怎么做?我想显示用户何时开始工作,结束他的工作时间(每天登录后的每一天)。
这是我的代码:
XAML
<?xml version="1.0" encoding="utf-8"?>
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/gradient">
<android.support.design.widget.BottomNavigationView
android:id="@+id/bottom_navigation"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
app:itemBackground="@color/colorPrimary"
app:itemIconTint="@drawable/nav_item_color_state"
app:itemTextColor="@drawable/nav_item_color_state"
app:menu="@menu/bottom_navigation_main"
/>
android:text="You're at work since:"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:textStyle="bold"
android:textSize="24sp"
android:textColor="#ffffff"
android:layout_alignParentTop="true"
android:layout_marginTop="84dp"
android:id="@+id/entryTextView"
android:layout_centerHorizontal="true"
android:theme="@style/MyCustomTheme"/>
<TextView
android:text= Today you work already:"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_alignParentTop="true"
android:layout_marginTop="226dp"
android:textStyle="bold"
android:textSize="24sp"
android:textColor="#ffffff"
android:id="@+id/timeTextView"
android:layout_centerHorizontal="true"
android:theme="@style/MyCustomTheme"/>
我要与之绑定的C#类
public LoginViewModel(ILogin login)
{
_loginService = login;
_appVariables = new AppVariables();
GoToDashboard = new Interaction<Unit, Unit>();
var canLogin = this.WhenAnyValue(x => x.UserName, x => x.Password, LoginInputValidator.Validate);
LoginCommand = ReactiveCommand.CreateFromTask(async () => { await TryLogin(); }, canLogin);
}
private async Task<IObservable<bool>> TryLogin()
{
var lg = await _loginService.Login(_userName, _password);
if (lg)
{
_appVariables.UserName = UserName;
_appVariables.logDate = DateTime.Now;
_appVariables.isLogged = true;
await GoToDashboard.Handle(Unit.Default);
}
return Observable.Return(lg);
}
c#另一个课程
public class AppVariables
{
public bool isLogged;
public DateTime logDate;
public DateTime offDate;
public string UserName;
}
我已经尝试过
BindingContext = this;
InitializeComponent();
但是它总是红色,我不知道出了什么问题。
答案 0 :(得分:0)
1。要访问Xamarin.android项目中axml中的元素,可以使用:
TextView textV = FindViewById<TextView>(Resource.Id.entryTextView);
2。TextView textV = FindViewById<TextView>(Resource.Id.entryTextView);
应该添加到Activity类而不是模型类中。
3。要在label / textView中开始新行,可以使用"/n"
4。要使文本在textView中居中,可以设置TextAlignment
:
textV.TextAlignment = TextAlignment.Center;