Binding问题
下面只是描述问题而写的例子,不用探究逻辑关系的合理与否。
XAML:
问题:
按照上面的设计,当myParamTemplate指定的TextBox的值发生改变时,Age值发生改变,Age.set访问器被调用。
那么,怎么样在Age.set访问器被调用的时候,即TextBox发生变化时,Stu.set访问器也被调用,即Age的值发生改变时,它的宿主对象Stu也能发生值改变通知呢?
public class StudentGroup : ViewModelBase
{
Student _stu;
public Student Stu
{
get { return _stu; }
set
{
_stu = value;
base.OnPropertyChanged("Stu");
}
}
}
public class Student : ViewModelBase
{
int _age;
string _name;
public int Age
{
get { return _age; }
set
{
_age = value;
base.OnPropertyChanged("Age");
}
}
public string Name
{
get { return _name; }
set
{
_name = value;
base.OnPropertyChanged("Name");
}
}
}
XAML:
<DataTemplate x:Key="myParamTemplate">
<Border Name="border" BorderBrush="Aqua" BorderThickness="1"
Padding="5" Margin="5">
<Grid>
<Grid.RowDefinitions>
<RowDefinition/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition />
<ColumnDefinition />
<ColumnDefinition />
</Grid.ColumnDefinitions>
<TextBlock Grid.Row="0" Grid.Column="0" Text="Param:"/>
<TextBox Grid.Row="0" Grid.Column="1" Text="{Binding Path=Age,UpdateSourceTrigger=PropertyChanged}" />
<TextBlock Grid.Row="0" Grid.Column="2" Text="{Binding Path=Name,UpdateSourceTrigger=PropertyChanged}"/>
</Grid>
</Border>
</DataTemplate>
<ContentControl Content="{Binding Path=Stu,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}"
ContentTemplate="{StaticResource myParamTemplate}"
Background="Red"/>
问题:
按照上面的设计,当myParamTemplate指定的TextBox的值发生改变时,Age值发生改变,Age.set访问器被调用。
那么,怎么样在Age.set访问器被调用的时候,即TextBox发生变化时,Stu.set访问器也被调用,即Age的值发生改变时,它的宿主对象Stu也能发生值改变通知呢?
...全文
相关推荐
win32-x64-64_binding.node下载
Angular新手报错解答一点帮助,让我们这些菜鸟,再跳过一个坑。希望大家彼此互相帮助,请关注我的CSDN:sinat_38849643
win32-x64-72-binding.node
npm安装node-sass报错 1. 下载本资源 2. 放到指定路径,一般情况下C:\Users\xxx\AppData\Roaming\npm-cache\node-sass\
Android Data Binding 在 library module 中遇到错误及解决办法
主要介绍了Android Data Binding 在 library module 中遇到错误及解决办法的相关资料,需要的朋友可以参考下
win32-x64-64_binding.rar
安装npm install环境的时候我遇到一个问题就是 缺少node-sass文件。git上下载慢。
Android Data Binding解析[项目源码]
本文全面解析了Android Data Binding技术的核心原理、基础用法与高级特性。Data Binding作为Jetpack组件,通过声明式布局将UI组件直接绑定到数据源,显著减少样板代码并提升开发效率。文章详细介绍了环境配置、基础数据绑定、双向绑定机制、自定义绑定适配器等核心内容,并深入剖析了其在MVVM架构中的整合方式与最佳实践。同时,针对常见问题如双向绑定循环更新、RecyclerView配合等提供了解决方案。通过实际案例展示了Data Binding如何减少30%的UI代码量,最后展望了其与Compose的未来整合方向。


