Связывание пользовательского контроля XAML в XAML - PullRequest
1 голос
/ 30 ноября 2011

У меня есть два пользовательских элемента управления: Основной nad Настройки . В Main в каком-то элементе управления я хочу установить для CommandParameter в XAML значение Settings . В C # код прост, как:

biSettings.CommandParameter = new Settings();

Как я могу это сделать в XAML?

CommandParameter="???"

В настройках есть собственная модель, которую я использую MVVM. Я нашел здесь решения Связывание UserControl в XAML , но не понятно MVVM, потому что в VM есть MV! Я использую Silverlight 4.

Ответы [ 2 ]

2 голосов
/ 30 ноября 2011

Допустим, элемент управления является кнопкой, вы могли бы что-то вроде этого:

<Button Command={Binding Foo} Content="Click Me">
  <Button.CommandParameter>
    <mystuff:Settings />
  </Button.CommandParameter>
</Button>
0 голосов
/ 30 ноября 2011
  Type type = biSettings.GetType();
  FieldInfo field = type.GetField("CommandParameter");
  if (field != null)
  {
    DependencyProperty dp = (DependencyProperty)field.GetValue(Result);
    if (dp != null)
    {
      ((UserControl)Result).SetValue(dp, YourSettingObject);

    }
  }
...