請考慮以下LinearGadientBrush
,'A'。通常,如果將該筆刷指定爲矩形的背景,則無論大小如何,都會使用整個漸變填充整個區域。 (見B)。是否有可能只渲染一個GradientBrush的百分比?
我們試圖說'對於這個特定的控件,只能使用刷子的第一個xx%來填充',所以我們可以實現基於百分比的漸變填充,如'C'。
注:我們知道我們將負責展示其百分比,因爲沒有辦法讓系統自動計算什麼的百分比表示。
我們目前正在做這件事的方式顯示在'D'中。我們以100%的大小定義一個矩形(所以填充爲100%),然後將其放置在另一個控件中並左對齊。然後,我們將外部控件的ClipsToBounds
設置爲true,並將其寬度設置爲內矩形寬度的所需百分比。 (見D)這種方法很有效,但在視覺樹中添加了額外的元素,如果可能的話,我們試圖消除這些元素。
關閉,但這裏有一個問題。由於StartPoint和EndPoint是筆刷本身的屬性,因此每個渲染值需要一個筆刷實例。儘管如此,它還是不適合你的信息,因爲它引導了我剛剛發佈的使用MappingMode達到同樣效果的答案。 – MarqueIV