我們在我們的WPF應用程序中有許多複雜的Path
。一個例子是:如何凍結路徑數據
<Path Data="M14.077,9.772C11.634,9.772 9.652,11.753 9.652,14.197 9.652,16.641 11.634,18.622 14.077,18.622 16.521,18.622 18.502,16.641 18.502,14.197 18.502,11.753 16.521,9.772 14.077,9.772 M28,12L28,16 24.085,16C23.84,17.369,23.325,18.643,22.592,19.763L25.313,22.485 22.485,25.314 19.791,22.62C18.668,23.383,17.383,23.924,16,24.189L16,28 12,28 12,24.163C10.638,23.88,9.378,23.322,8.274,22.554L5.514,25.314 2.686,22.485 5.504,19.668C4.802,18.57,4.306,17.331,4.068,16L0,16 0,12 4.144,12C4.427,10.722,4.943,9.533,5.656,8.485L2.686,5.515 5.514,2.686 8.513,5.684C9.558,5,10.734,4.499,12,4.236L12,0 16,0 16,4.21C17.285,4.456,18.48,4.946,19.545,5.626L22.485,2.686 25.313,5.515 22.431,8.397C23.176,9.467,23.718,10.685,24.008,12z" Fill="{TemplateBinding Foreground}" Height="12" Width="12" Stretch="Fill" VerticalAlignment="Center" HorizontalAlignment="Right"/>
我們的大多數控制模板的需要廣泛使用矢量圖形和多效的在這些路徑上被應用。
出於性能原因,我們希望凍結這些路徑的Data
,因爲它不會被更改。我們使用的這種語法創建了一個StreamGeometry
併爲其分配數據。 StreamGeometry
是可凍結的,但我們如何在xaml中凍結它?
StreamGeometry在通過路徑標記在XAML中創建時已經凍結。 – Clemens
@Clemens謝謝。起初我是這麼想的。但是,我們如何能夠看到一個對象在運行時是否被凍結以確定?有關此事的任何參考? – SepehrM
@Clemens你是對的。 'Path.Data.IsFrozen'返回true。 – SepehrM