UserControl vs SurfaceWindow - PullRequest
       29

UserControl vs SurfaceWindow

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

Я пытаюсь использовать значения, которые я объявляю внутри класса UserControl, чтобы изменить вещи внутри класса SurfaceWindow. Теперь я знаю, что мне нужно использовать DependencyProperty, чтобы получить значение из UserControl, а затем поместить его в открытую строку.

  public string MapValue
    {
        get { return (string)GetValue(MapValueProperty); }
        set { SetValue(MapValueProperty, value); }
    }

    public static readonly
        DependencyProperty MapValueProperty = DependencyProperty.Register("MapValue", typeof(string), typeof(MapManager));

Теперь мой вопрос: как мне связать открытую строку (которая находится внутри UserControl) с элементом (внутри SurfaceWindow)?

Если я использую свойство DependencyProperty, создаю ли я новый класс или помещаю его в код контроля пользователя?

Я был бы очень рад, если бы кто-то мог помочь мне с этой проблемой ..

Ответы [ 2 ]

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

У меня уже было это в моем окне управления:

<Image x:Name="iGroundPlan" Source="{Binding ElementName=MapManager,Path=MapValue}" />

(MapManager - это имя моего пользовательского элемента управления)

Но похоже, что это не работает, и я не знаю почему .. Как будто окна никогда не знают, когда значение MapValue обновляется в моем usercontrol = \

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

Насколько я могу судить, вы пытаетесь привязать свойство зависимости некоторого элемента управления в вашем окне.

В этом случае вы можете использовать синтаксис ElementName в объявлениях привязки, таких как:

<TextBlock Text="{Binding ElementName=MapControl, Path=MapValue}"/>
...