2012-02-14 3 views
0

Я создаю пользовательский элемент управления, который действует как ящик, который я хочу «выскочить» из-за границы. Я установил два состояния: «DrawerOpen» и «DrawerClosed» в самом пользовательском управлении и хочу, чтобы кнопка отображалась в главном окне моего пользовательского интерфейса, чтобы открыть/закрыть этот ящик. Эти два взаимоисключающих состояния находятся в одной и той же Visual State Group.usercontrol не отвечает на изменение состояния во время выполнения

Я добавил «GoToStateAction» к кнопке в usercontrol (в которой находятся несколько других элементов управления и визуальные группы состояний). Состояние «DrawerOpen» просто состоит из изменения поля, которое полностью выводит usercontrol. Я считаю, что все настроено правильно, но не может для меня понять, почему нажатие кнопки просто не изменит состояние, как оно определено в свойствах GoToStateAction.

Кто-нибудь есть идеи, почему пользовательское состояние управления не отвечает на нажатие кнопки? Я не получаю сообщение об ошибке.

Там также не возникает проблем с z-порядком, и кнопка «Click» выбирается во время выполнения.

Спасибо! Rachael

UPDATE Просто хотел сказать, что я считаю, что вопрос заключается в том, что мне нужно, чтобы быть в состоянии «фокус» (из-за отсутствия более точного слова) на контроле и изменении состояния поведений UserControl. Не уверен, что это помогает.

+0

Ну, без какого-либо исходного кода вам будет сложно помочь. Но вы отлаживали ваше приложение, чтобы убедиться, что нажатие на кнопку фактически вызывает любую логику, которую вы должны изменить свойство margin? –

ответ

0

Я действительно заканчиваю решение своей проблемы, благодарю вас за ответ. То, что я сделал, это использовать кнопку переключения для настройки булевых состояний Open и Closed, где «checked» соответствует состоянию «Open». Он имеет приятный чистый эффект, так как пользовательский контроль контролируется одной из его собственных кнопок, а не кнопкой на каком-то менеджере компоновки основного окна. Это нормально работает только один раз, однако ... не знаю, почему еще ...

+0

Обнаружено, почему он не работает должным образом/правильно переключается. OpenState должен иметь ТОЛЬКО переход «Open-> Closed», а ClosedState должен иметь ТОЛЬКО переход Закрытый-> Открыть. Кроме того, я удалил свойство «IsChecked» на панели «Объекты» и «Временная шкала» в выражении, которое было каким-то образом добавлено, не осознавая этого. –

Смежные вопросы