1
我在XAML定義如下的資源(myPoint):在C#中修改資源?
<Path Name="myPath">
<Path.Resources>
<Point x:Key="myPoint" X="200" Y="200"/>
</Path.Resources>
</Path>
在OnApplyTemplate覆蓋在相應的C#代碼,我使用以下方法來獲得該資源的引用。
myPointReference = (Point)myPath.FindResource("myPoint");
現在,每當我修改myPointReference的價值,讓我們說,
myPointReference.X = 30;
它不修改資源myPoint的價值,它只是改變myPointReference的價值。我如何使myPointReference實際引用我的XAML定義的資源myPoint,以便在修改myPointReference的值時,我也在修改myPoint的值?
Point是一個值類型。每次訪問都是副本,因此你不能這樣做。你試圖達到的最大效果是什麼?可能有另一種方式來做到這一點。 – Tergiver 2010-10-06 23:08:31
最重要的是,您將無法通過當前的方式更改XAML本身。如果這就是你所說的?如果你殺了應用程序並將其恢復啓動,那麼這些值將不會改變......除非我對你正試圖完成的任務感到困惑...... – 2010-10-06 23:11:15
我見過C#中值類型的例子通過引用傳遞,使用ref關鍵字,但我不能在這種情況下工作,因爲我沒有使用函數。更大的圖像是這樣的:我有一個正在使用點作爲動態資源繪製的形狀。希望在C#中我可以改變這些資源的值來改變形狀。我可以使用依賴屬性,但我不想將屬性公開給我的類的用戶。我希望他們使用我的功能來操縱形狀。 – Dalal 2010-10-06 23:18:38