WPF中一个TextBlock文本绑定另外两个TextBlock文本数值之和
时间: 2024-02-06 13:04:29 浏览: 70
WPF中的数据绑定
可以通过使用多个绑定器和转换器来实现这个功能。具体步骤如下:
1. 创建 TextBlock1 和 TextBlock2 并分别绑定到 ViewModel 中的两个属性,比如 Text1 和 Text2。
2. 创建一个第三个 TextBlock3,并将它的文本绑定到一个新的属性 Sum,该属性返回 Text1 和 Text2 的和。
3. 在 ViewModel 中创建 Sum 属性,并在其 getter 方法中计算 Text1 和 Text2 的和。
4. 在 XAML 中为 TextBlock3 的绑定器设置转换器,将 Sum 属性的值转换为字符串,以便在 TextBlock3 中显示。
下面是一个示例代码:
ViewModel:
```csharp
public class MyViewModel : INotifyPropertyChanged
{
private int _text1;
private int _text2;
public event PropertyChangedEventHandler PropertyChanged;
public int Text1
{
get { return _text1; }
set
{
_text1 = value;
OnPropertyChanged("Text1");
OnPropertyChanged("Sum");
}
}
public int Text2
{
get { return _text2; }
set
{
_text2 = value;
OnPropertyChanged("Text2");
OnPropertyChanged("Sum");
}
}
public int Sum
{
get { return Text1 + Text2; }
}
protected void OnPropertyChanged(string propertyName)
{
if (PropertyChanged != null)
{
PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
}
}
}
```
XAML:
```xml
<StackPanel>
<TextBlock Text="{Binding Text1}" />
<TextBlock Text="{Binding Text2}" />
<TextBlock Text="{Binding Sum, Converter={StaticResource IntToStringConverter}}" />
</StackPanel>
```
其中,IntToStringConverter 是一个实现了 IValueConverter 接口的类,用于将 Sum 的整数值转换为字符串。
阅读全文