<CheckBox Margin="10"
VerticalAlignment="Center"
IsChecked="{Binding RelativeSource={RelativeSource Templatedparent}, Path=IsExpanded}" />
CheckBox 的 IsChecked 属性使用了数据绑定机制,以实现与 TemplatedParent 控件的 IsExpanded 属性的同步。这种绑定方式常用于 ControlTemplate 或 DataTemplate 中的内容。
RelativeSource:
定义相对的绑定源
RelativeSource Templatedparent :
绑定的数据源是应用此模板的控件(通常是控件模板或数据模板的父控件)。
绑定说明
在此代码中,IsChecked 被绑定到 TemplatedParent 控件的 IsExpanded 属性。这意味着 CheckBox 的选中状态 (IsChecked) 会自动同步到模板控件的 IsExpanded 状态。这种做法的常见场景包括:
模板扩展和收起控制:例如,如果这个 CheckBox 在 Expander 控件的模板内,IsExpanded 属性控制 Expander 是否展开,因此 CheckBox 可以通过选中和取消选中来控制该模板的 IsExpanded 状态。
相互关联的属性:这种绑定让两个属性的状态保持一致,当 IsExpanded 改变时,IsChecked 也会跟着变化,反之亦然,形成一个同步关系。
标签:控件,CheckBox,IsExpanded,绑定,Binding,tips1,IsChecked,WPF,模板 From: https://www.cnblogs.com/iSantiago2000i/p/18544788