{TemplateBinding BorderBrush}意味这什么

其实{TemplateBinding BorderBrush}就等同于{Binding BorderBrush RelativeSource={ RelativeSource TemplateParent}}

 

在WPF开发过程中,View和ViewModel之间的数据绑定是其中重要的一环,与数据绑定相关的内容很多,本次学习主要是关于绑定的“源”的一些内容,比如数据绑定的写法我们经常用的是ItemsSource="{Binding SelectedEmployeeData}", 实际上开发Xaml在解析的时候会把它默认为ItemsSource="{Binding Path=SelectedEmployeeData}"。因为没有指定数据"源”,Xaml会先查找当前的控件绑定的DataContext (ViewModel)或者它Ancestor(父节点)的DataContext. 那怎样指定绑定数据的"源"呢?有三种方式:

1. 数据绑定之Source

  

这其中的Source实际上指定了属性Property1绑定的是DateTime.Now的Day值。

Source的具体解释是:指定属性绑定的Path来自于哪个Source。

2. 数据绑定之RelativeSource

       

        这其中的RelativeSource是指定了Width属性绑定的是Self.Parent.ActualWidth(TextBlock父窗口的实际大小),表示该TextBlock的宽度与父窗口的宽度一致。

           RelativeSource有四种Mode,包括FindAncestor,Self,TemplateParent,PriviousData.

RelativeSource的具体解释是: 指定与当前控件相对位置的控件作为数据绑定的源。

3. 数据绑定之ElementName,

你可能感兴趣的:(WPF)