Доступ к объекту XAML из кода - PullRequest
1 голос
/ 27 апреля 2009

Я создал UserControl в WPF:

В 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>

I cs:

object theThing = e.Parameter;
                    ((MailRelation)sender).theGraph.CenterObject = theThing;

Последнее предложение не работает, так как theGraph недоступен. Любая идея, почему я могу получить доступ к графу?

Спасибо

John

Ответы [ 2 ]

1 голос
/ 27 апреля 2009

Name = "theGraph"

должно быть

х: Name = "theGraph"

из http://msdn.microsoft.com/en-us/library/ms752059.aspx

x: Имя: указывает объект времени выполнения. имя для экземпляра, который существует в код времени выполнения после элемента объекта обрабатывается. Вы используете x: Name для случаев именования элементов, где эквивалентное имя уровня структуры WPF свойство не поддерживается. это происходит в определенной анимации сценарии.

0 голосов
/ 27 апреля 2009

Возможно, потому что это свойство является частным. Предоставьте публичный получатель, и вы сможете его получить. В своем коде добавьте что-то вроде

 public Graph TheGraph  { get { return theGraph; } }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...