WPF TemplateBinding與RelativeSource TemplatedParent這兩個綁定有什么區別:<ControlTemplate TargetType="{x:Type Button}">
<Border BorderBrush="{TemplateBinding Property=Background}">
<ContentPresenter />
</Border></ControlTemplate>和<ControlTemplate TargetType="{x:Type Button}">
<Border BorderBrush="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=Background}">
<ContentPresenter />
</Border></ControlTemplate>?
3 回答
倚天杖
TA貢獻1828條經驗 獲得超3個贊
TemplateBinding并不完全相同。MSDN文檔通常由那些必須測試單音節SDE關于軟件功能的人編寫,因此細微差別并不完全正確。
TemplateBindings在編譯時根據控件模板中指定的類型進行評估。這允許更快地實例化編譯模板。只是在模板綁定中摸索名稱,您將看到編譯器將標記它。
綁定標記在運行時解析。雖然執行速度較慢,但綁定將解析在模板聲明的類型上不可見的屬性名稱。慢一點,我會指出它的相對類型,因為綁定操作只需要很少的應用程序的cpu。如果你是高速爆破控制模板,你可能會注意到它。
作為一個實踐,你可以使用TemplateBinding,但不要擔心綁定。
添加回答
舉報
0/150
提交
取消
