Mvvm TextBlock 的Text绑定某个类的值
时间: 2024-01-08 17:04:13 浏览: 80
在 MVVM 中,可以使用数据绑定来将 View(如 TextBlock)与 ViewModel 中的属性绑定起来。下面是一个简单的例子,展示如何将一个 TextBlock 的 Text 属性绑定到 ViewModel 中的一个字符串属性:
XAML:
```xml
<Window x:Class="MyApp.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:MyApp"
Title="MainWindow" Height="450" Width="800">
<Window.DataContext>
<local:MyViewModel />
</Window.DataContext>
<Grid>
<TextBlock Text="{Binding MyText}" />
</Grid>
</Window>
```
ViewModel:
```csharp
public class MyViewModel : INotifyPropertyChanged
{
private string _myText = "Hello, MVVM!";
public string MyText
{
get { return _myText; }
set
{
_myText = value;
OnPropertyChanged(nameof(MyText));
}
}
public event PropertyChangedEventHandler PropertyChanged;
protected virtual void OnPropertyChanged(string propertyName)
{
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
}
}
```
在这个例子中,我们将 Window 的 DataContext 设置为一个 MyViewModel 实例。然后,我们将 TextBlock 的 Text 属性绑定到 MyViewModel 中的 MyText 属性。当 MyText 属性的值发生变化时,ViewModel 会触发 PropertyChanged 事件,从而通知 View 更新绑定的属性。这样,当我们改变 ViewModel 中 MyText 的值时,TextBlock 中显示的内容也会随之改变。
阅读全文