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