WPF Передача объекта из одного элемента управления в другой

Sari Rahal спросил: 13 октября 2017 в 06:30 в: c#

Я пытаюсь передать объект в одном элементе управления другому в WPF. Кажется, у меня проблема с привязкой элемента управления в представлении.

В настоящее время у меня есть это:

<controls:ConfigControl Grid.Column="0" x:Name="ConfigControl" />
<Label Content="{Binding ConfigControl.JobConfig.JDFPrinterFolder, FallbackValue='didnt work'}"></Label>
<ScrollViewer VerticalScrollBarVisibility="Auto" Grid.Column="1" >
    <controls:MainControls Margin="0,10,0,0" Grid.RowSpan="2" JobConfig="{Binding ConfigControl.JobConfig}" />
</ScrollViewer>

Я пытаюсь передать ConfigControl .JobConfig к моим MainControls, и я добавил ярлык для отладки, и это всегда приводит к"не работает". Я не уверен, почему это не работает, но точка в правильном направлении поможет.

на моей стороне ConfigControl у меня есть публичный объект с именем JobConfig:

public JobConfiguration JobConfig {
    get { return _jobConfig; }
    set {
        _jobConfig = value;
        // Call OnPropertyChanged whenever the property is updated
        OnPropertyChanged("JobConfig");
    }
}

И он заполняется в конструкторе для ConfigControl:

public ConfigControl() {
    InitializeComponent();
    DataContext = this;
    LoadSettings();  <--- here
}

Я также отладил, чтобы убедиться, что настройки там есть.

Внутри моего MainControls У меня есть это:

public JobConfiguration JobConfig {
    get { return (JobConfiguration)GetValue(JobConfigProperty); }
    set { SetValue(JobConfigProperty, value); }
}// Using a DependencyProperty as the backing store for JobConfig.  This enables animation, styling, binding, etc...
public static readonly DependencyProperty JobConfigProperty =
    DependencyProperty.Register("JobConfig", typeof(JobConfiguration), typeof(MainControls), new PropertyMetadata(null));

Я подтвердил, что данные установлены здесь. И все работает в представлении ConfigControl. Да, я подтвердил, что JDFPrinterFolder установлен.

0 ответов