Анимация DataContext Silverlight - PullRequest
       0

Анимация DataContext Silverlight

1 голос
/ 09 февраля 2012

Можно ли изменить значение DataContext другого объекта, когда триггер события вызывается с использованием стандартных инструментов xaml? Thnx.

1 Ответ

1 голос
/ 10 февраля 2012

Я не уверен, чего вы пытаетесь достичь, но если у вас есть несколько пользовательских контролей, вы хотите, чтобы они общались друг с другом и обменивались данными или вызывали какие-то события.Хороший и чистый способ сделать это без повышения согласованности между элементами управления - это использовать систему обмена сообщениями для публикации и регистрации сообщений.Это позволит вам запускать события и передавать данные между различными элементами управления.Есть несколько структур, которые поддерживают это.

Вы можете заглянуть в Prism EventAggregator.Библиотеку Prism можно загрузить с веб-сайта Microsoft.

Другая структура - http://galasoft.ch/mvvm/. Посмотрите на класс Messenger.

Если вы хотите изменить DataContext другого объекта, самый простой способ - привязать текстовый объектный текст к свойству в вашем ModelView.В противном случае вы можете просто установить атрибут x: Name для объекта в XAML и сослаться на него в дополнительном коде, чтобы изменить текст данных во время вызова события на что-то другое.Это предполагается, если вы находитесь в одной и той же области имен / классе.

*. XAML

<ComboBox x:Name="ComboBox1">
     <ComboBoxItem Content="Blah"/>
</ComboBox>

*. XAML.cs

public void SomeEventInvoked(object sender, EventArgs e) 
{
        ComboBox1.DataContext = someObject;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...