2

我有一個自定義的線條形狀,包括開始點和結束點。但是,ActualWidthActualHeight屬性不會返回正確的值,即點之間的差異。有沒有辦法在派生類中重寫這些屬性,以及如何去做。我需要使用ActualWidthActualHeight屬性,因爲我使用的算法將這些屬性用於其他形狀。覆蓋ActualWidth和ActualHeight依賴項屬性

回答

2

不能覆蓋ActualWidthActualHeightthey are computed

值由佈局系統本身設置的基礎上,實際的渲染通道

所以,你應該做的,而不是是要改變你的形狀在渲染過程中的表現。您可以覆寫DefiningGeometry(假設您的形狀實際上是Shape),也可以覆蓋MeasureOverride()