Контроль доступа от ленты ICommand - PullRequest
0 голосов
/ 02 февраля 2012

Я новичок в WPF и начал использовать элемент управления ленты в VS2010.

 public class RibbonAddCustomer : ICommand
  {
    public void Execute(object parameter)
    {
        AddCustomer addCustomer = new AddCustomer();
        addCustomer.ShowDialog();
        Customer myCustomer = addCustomer.customerDetails;
        addCustomer.Close();

        // MainWindow.Customers.Add(myCustomer);

    }

    public bool CanExecute(object parameter)
    {
        return true;
    }

    public event EventHandler CanExecuteChanged;
}

Я создал WPF RibbonWindow и добавил ленту в форму. Я прикрепил обработчик событий, который отображает форму CustomerDetails. Теперь я хотел бы добавить клиента, введенного в ComboBox, на главной форме. Событие срабатывает, и запись клиента с дисплеев. Я не могу понять, как получить доступ к элементу управления в форме из события RibbonAddCustomer, чтобы обновить ComboBox в главной форме.

Я попытался передать параметр в событие RibbonAddCustomer, но это всегда пустое значение.

 <r:RibbonButton Command = "{StaticResource mycmd}" CommandParameter="{Binding}" Label="Add Customer" />

Есть предложения? Вид потерянного. -Спасибо.

1 Ответ

0 голосов
/ 02 февраля 2012

Вы можете создать свойство Window в вашем RibbonControl, чтобы у вас была ссылка на главное окно.

public MainWindow MyMainWindow {get;set;}

Когда ваше приложение запускается, присвойте свойству MyMainWindow главное окно.

...