如何从View中获取对象TextBlock并在ViewModel中对其进行操作?

时间:2017-10-26 17:27:08

标签: c# wpf caliburn.micro

我在一个带有c#的WPF项目中使用Caliburn.Micro。

我想要一种方法,比如在android中通过它的“id”在xaml视图中找到“TextBlock”,以便我可以操纵它的属性。

我在考虑做这样的事情,但对于c#:

TextBlock textblock = (TextBlock ) myView.findViewById(R.id.myTextBlock);

所以我可以崩溃并让它再次可见。

<TextBlock x:Name="MyTextBlockId"
               Text="Incorrect user credentials. Forgot password, click here" 
               Visibility="Collapsed"/>

1 个答案:

答案 0 :(得分:1)

MVVM方法

视图模型

class MyViewModel : PropertyChangedBase
{
    private bool _isBadLogin;

    public bool IsBadLogin
    {
        get => _isBadLogin;
        set => Set(ref _isBadLogin, value);
    }
}

XAML

<TextBlock x:Name="MyTextBlockId"
           Text="Incorrect user credentials. Forgot password, click here" 
           Visibility="{Binding IsBadLogin, Converter={StaticResource BooleanToVisibilityConverter}"/>