我在WPF中创建了一个UserControl:
在Xaml中:
<UserControl x:Class="OutlookPanel.MailRelation"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Height="300" Width="300"
xmlns:graph="clr-namespace:MyPanel"
>
<DockPanel>
<graph:Graph Name="theGraph" NodesBindingPath="ChildNodes"
NodeTemplateSelector="{StaticResource nodeTemplateSelector}">
..
</DockPanel>
</UserControl>
我cs:
object theThing = e.Parameter;
((MailRelation)sender).theGraph.CenterObject = theThing;
这句最后一句不起作用,因为无法访问图表。 知道为什么我可以访问图表吗?
由于
约翰
答案 0 :(得分:1)
名称= “theGraph”
应该是
X:名称= “theGraph”
来自http://msdn.microsoft.com/en-us/library/ms752059.aspx
x:Name:指定运行时对象 存在的实例的名称 对象元素之后的运行时代码 已处理。对案例使用x:Name 命名元素的位置 等效的WPF框架级名称 属性不受支持。这个 发生在某些动画中 场景。
答案 1 :(得分:-2)
可能是因为该财产是私人的。提供一个公共吸气剂,你应该能够得到它。在您的代码中,添加类似
的内容 public Graph TheGraph { get { return theGraph; } }