爲什麼我們需要「附加屬性」?它的概念讓我感到有些迷惑,因爲您可以設想設置一些特定的屬性值,這些屬性值甚至不存在於特定的DependencyObject上(並且它們將被忽略)。它幾乎就像是一個尋找問題的解決方案 - 爲什麼不只是做例如HTML確實有父元素來確定像明確定位子項那樣的東西嗎?爲什麼WPF使用附加的屬性來定位網格中的東西?
也就是說,代替:
<Grid>
<Grid.ColumnDefinitions>
<!-- etc. -->
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<!-- etc. -->
</Grid.RowDefinitions>
<SomeElement Grid.Column="0" Grid.Row="0" />
<!-- etc. -->
</Grid>
爲什麼不能像這樣(的<tr>
HTML中的等價和<td>
):
<Grid>
<Grid.Row>
<Grid.Column>
<SomeElement />
</Grid.Column>
<!-- etc. -->
</Grid.Row>
</Grid>
或許電網只是一個壞榜樣,並連接屬性在其他情況下更有意義?或者我可能完全錯過了一些東西?
其實,正是這段確切的話讓我問這個問題(我現在正在讀這本書)。注意我沒有建議向FrameworkElement添加屬性;我同意這將是愚蠢的。我想知道爲什麼它沒有像HTML那樣完成 - 也許其原因就像Wegged所說的那樣簡單。 – 2011-03-15 16:58:18