}" IsTabStop="False" IsHorizontalRailEnabled="{TemplateBinding ScrollViewer.IsHorizontalRailEnabled}" IsVerticalRailEnabled="{TemplateBinding ScrollViewer.IsVerticalRailEnabled}" Margin="{TemplateBinding BorderThickness}" Padding="{TemplateBinding Padding}" Grid.Row="1" VerticalScrollBarVisibility="{TemplateBinding }" Margin="{TemplateBinding BorderThickness}" Padding="{TemplateBinding Padding}" Grid.Row="1" VerticalScrollBarVisibility ="{TemplateBinding ScrollViewer.VerticalScrollBarVisibility}" VerticalScrollMode="{TemplateBinding ScrollViewer.VerticalScrollMode
}" IsTabStop="False" IsHorizontalRailEnabled="{TemplateBinding ScrollViewer.IsHorizontalRailEnabled}" IsVerticalRailEnabled="{TemplateBinding ScrollViewer.IsVerticalRailEnabled}" Margin="{TemplateBinding BorderThickness}" Padding="{TemplateBinding Padding}" Grid.Row="1" VerticalScrollBarVisibility="{TemplateBinding }" Margin="{TemplateBinding BorderThickness}" Padding="{TemplateBinding Padding}" Grid.Row="1" VerticalScrollBarVisibility ="{TemplateBinding ScrollViewer.VerticalScrollBarVisibility}" VerticalScrollMode="{TemplateBinding ScrollViewer.VerticalScrollMode
="{TemplateBinding ScrollViewer.VerticalScrollBarVisibility}" IsHorizontalRailEnabled="{TemplateBinding ="{TemplateBinding BorderThickness}" Padding="{TemplateBinding Padding}" IsTabStop="False" ="{TemplateBinding HorizontalContentAlignment}" Margin="{TemplateBinding Padding ="{TemplateBinding HorizontalContentAlignment}" Margin="{TemplateBinding Padding}" BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Content="{TemplateBinding
CornerRadius="22" Background="{TemplateBinding Background}"> <TextBlock x FontSize="{<em>TemplateBinding</em> FontSize}" HorizontalAlignment="{<em>TemplateBinding</em> HorizontalContentAlignment}" VerticalAlignment="{<em>TemplateBinding</em> CornerRadius="22" Background="{<em>TemplateBinding</em> Background}"> <TextBlock x FontSize="{<em>TemplateBinding</em> FontSize}" HorizontalAlignment="{<em>TemplateBinding</em>
Width}" Height="{TemplateBinding Height}" Fill="{TemplateBinding BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding IsHovered="{TemplateBinding IsMouseOver}" IsPressed="{TemplateBinding IsPressed BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding IsPressed="{TemplateBinding IsPressed}" IsSelected="{TemplateBinding IsRowSelected
Width}" Height="{TemplateBinding Height}" Fill="{TemplateBinding Width}" Height="{TemplateBinding Height}" Fill="{TemplateBinding SnapsToDevicePixels="True"> <Grid Background="{<em>TemplateBinding</em> Background}"> }" Value="{TemplateBinding HorizontalOffset}" /> Padding}" Background="{TemplateBinding Background}"
CornerRadius="22" Background="{TemplateBinding Background}"> <TextBlock x FontSize="{<em>TemplateBinding</em> FontSize}" HorizontalAlignment="{<em>TemplateBinding</em> HorizontalContentAlignment}" VerticalAlignment="{<em>TemplateBinding</em> CornerRadius="22" Background="{<em>TemplateBinding</em> Background}"> <TextBlock x FontSize="{<em>TemplateBinding</em> FontSize}" HorizontalAlignment="{<em>TemplateBinding</em>
Border.OpacityMask> </Border> <ContentPresenter x:Name="contentPresenter" Margin="{<em>TemplateBinding</em> Padding}" HorizontalAlignment="{<em>TemplateBinding</em> HorizontalContentAlignment}" RecognizesAccessKey="True" SnapsToDevicePixels="{<em>TemplateBinding</em> SnapsToDevicePixels Background}" BorderBrush="{<em>TemplateBinding</em> BorderBrush}" BorderThickness="{<em>TemplateBinding</em> Background}" BorderBrush="{<em>TemplateBinding</em> BorderBrush}" CornerRadius="5" Opacity
AttachedElement="{Binding RelativeSource={RelativeSource Mode=TemplatedParent}}" Header="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}"> TabNavigation="{TemplateBinding TabNavigation}" HorizontalScrollMode ="{TemplateBinding ScrollViewer.IsVerticalRailEnabled}" ZoomMode="{ TemplateBinding ScrollViewer.ZoomMode}" IsDeferredScrollingEnabled=
Padding}" HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" VerticalAlignment="{TemplateBinding }"/> <ContentPresenter Margin="{<em>TemplateBinding</em> Padding}" HorizontalAlignment="{<em>TemplateBinding</em> HorizontalContentAlignment ="{TemplateBinding SnapsToDevicePixels}" Margin="40"/> 如果在 VisualStudio 中“文本编辑器->XAML->格式化->间距->特性间距” ="{TemplateBinding HorizontalContentAlignment}" VerticalAlignment="{TemplateBinding ="{TemplateBinding HorizontalContentAlignment}" VerticalAlignment="{TemplateBinding
Border.BorderThickness}" Padding="{TemplateBinding Control.Padding} }" ContentStringFormat="{TemplateBinding ContentControl.ContentStringFormat }" HorizontalAlignment="{TemplateBinding Control.HorizontalContentAlignment }" VerticalAlignment="{TemplateBinding Control.VerticalContentAlignment }" SnapsToDevicePixels="{TemplateBinding UIElement.SnapsToDevicePixels
="{TemplateBinding ScrollViewer.IsHorizontalRailEnabled}" IsHorizontalScrollChainingEnabled="{TemplateBinding ="{TemplateBinding ScrollViewer.IsDeferredScrollingEnabled}" TabNavigation="{TemplateBinding TabNavigation ="{TemplateBinding ScrollViewer.VerticalScrollMode}" ZoomMode="{TemplateBinding ScrollViewer.ZoomMode Footer}" HeaderTemplate="{TemplateBinding HeaderTemplate}" Header="{TemplateBinding Header}" HeaderTransitions="{TemplateBinding HeaderTransitions}" Padding="{TemplateBinding Padding}" Grid.Row=
MyDatePicker"> <StackPanel x:Name="LayoutRoot" Margin="{<em>TemplateBinding</em> HeaderTemplate="{TemplateBinding HeaderTemplate}"> <ToggleButton x:Name="DateButton " Content="{<em>TemplateBinding</em> DateTime}" IsEnabled="{<em>TemplateBinding</em> IsEnabled}" IsChecked="{Binding RelativeSource HeaderTemplate="{TemplateBinding HeaderTemplate}"> <ToggleButton x:Name="DateButton
={RelativeSource TemplatedParent}}" SnapsToDevicePixels="{TemplateBinding ScrollableWidth}" ViewportSize="{TemplateBinding ViewportWidth}" Value="{TemplateBinding HorizontalOffset}" Visibility="{TemplateBinding ComputedHorizontalScrollBarVisibility ScrollableHeight}" ViewportSize="{TemplateBinding ViewportHeight}" Value="{TemplateBinding VerticalOffset}" Visibility="{TemplateBinding ComputedVerticalScrollBarVisibility
两个都需要使用依赖属性,这样才可以使用Binding和下面会用到的TemplateBinding。 Margin="{TemplateBinding Padding}" HorizontalAlignment="{TemplateBinding 2.3 TemplateBinding 用于单向绑定ControlTemplate所在控件的功能属性,例如Margin="{TemplateBinding Padding}"几乎等效于Margin="{ 但它们之间有如下不同: TemplateBinding只能用在ControlTemplate中。 TemplateBinding的源和目标属性都必须是依赖属性。 TemplateBinding不能使用TypeConverter,所以源属性和目标属性必须为相同的数据类型。
Background}" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness ="{TemplateBinding SnapsToDevicePixels}" VerticalAlignment="{TemplateBinding VerticalContentAlignment ="{TemplateBinding SnapsToDevicePixels}" VerticalAlignment="{TemplateBinding VerticalContentAlignment BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background ="{TemplateBinding SnapsToDevicePixels}" VerticalAlignment="{TemplateBinding VerticalContentAlignment
TemplateBinding一般用于绑定控件模板内的属性,而TemplatedParent用于在控件模板内访问父元素的属性。 TemplateBinding 在 WPF 中, TemplateBinding 用于在控件模板中绑定到控件的属性。这可以让模板基于控件的属性值更改其视觉体验。 local:MyButton"> <Border BorderBrush="Black" BorderThickness="1" Background="{<em>TemplateBinding</em> Background}"> <ContentPresenter Content="{<em>TemplateBinding</em> Content}" /> </Border> 在模板中,我们使用 {TemplateBinding Background} 和 {TemplateBinding Content} 来绑定到控件的 Background 和 Content 属性。
x:Key="button" TargetType="{x:Type Button}"> <Border CornerRadius="4" BorderThickness="{<em>TemplateBinding</em> Property=BorderThickness}" BorderBrush="{<em>TemplateBinding</em> Property=BorderBrush}" Background="{<em>TemplateBinding</em> Property=Background}" > Property=BorderThickness}" BorderBrush="{TemplateBinding Property=BorderBrush}" Background="{TemplateBinding Property=Background}" >
SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}"/> </ScrollViewer> BorderBrush="{TemplateBinding BorderBrush}" Padding="{TemplateBinding Padding Background}" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness ="{TemplateBinding BorderThickness}" Padding="{TemplateBinding Padding}"> < BorderThickness="{<em>TemplateBinding</em> BorderThickness}" Padding="{<em>TemplateBinding</em>
Background}" Focusable="false" CanContentScroll="false" HorizontalScrollBarVisibility="{TemplateBinding }" Padding="{TemplateBinding Padding}" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}"> < Grid> <ItemsPresenter SnapsToDevicePixels="{<em>TemplateBinding</em> UIElement.SnapsToDevicePixels}" /> <TextBlock ="{<em>TemplateBinding</em> ScrollViewer.HorizontalScrollBarVisibility}" VerticalScrollBarVisibility="{<em>TemplateBinding</em> ScrollViewer.VerticalScrollBarVisibility}" Padding="{<em>TemplateBinding</em> Padding}" SnapsToDevicePixels="