Проблема передачи параметров из XAML - PullRequest
0 голосов
/ 08 сентября 2011

Мое требование - показывать пользовательский элемент управления в виде всплывающего окна.Я пытаюсь реализовать это в Silverlight / MVVM, используя этот метод.Но я не могу найти способ, где я могу передать какой-то параметр в мое всплывающее окно.Я прошел этот метод, чтобы добиться этого, но он как-то не работает.

Вот так выглядит мой XAML:

Поведение для кнопки в View1.При нажатии этой кнопки я открываю всплывающее окно View2:

<cmds:PopupBehavior.CustomUI>
<views:View2 CategoryID="{Binding CategoryID, Mode=TwoWay}"/>
</cmds:PopupBehavior.CustomUI>

CategoryID является свойством зависимости для View2 и привязывается к свойству с тем же именем в модели представления View1.Но по какой-то причине я всегда получаю CategoryID как 0 в View2, даже если он правильно установлен в моей модели View1.

Куда я иду?Вот код свойства зависимости для View2:

public static readonly DependencyProperty CategoryIDProperty = DependencyProperty.Register
("CategoryID",typeof(int),typeof(View2),new PropertyMetadata(0));

public int CategoryID
{
       get { return (int)GetValue(CategoryIDProperty); }
       set { SetValue(CategoryIDProperty, value); }
}

По некоторым причинам метод вызова свойства не вызывается.

1 Ответ

0 голосов
/ 08 сентября 2011

Это должно быть проблемой привязки при первом просмотре, измените ваш код на приведенный ниже, чтобы проверить и посмотреть, если это так:

cmds:PopupBehavior.CustomUI> 
    <views:View2 CategoryID="5"/> 
</cmds:PopupBehavior.CustomUI> 

Если ваш установщик дп теперь вызван, проверьте ваше окно вывода, чтобы увидетьпочему это не может связать

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...