Почему Trigger является нулевым в коде позади (Silverlight)? - PullRequest
1 голос
/ 14 апреля 2010

Я создал триггер в xaml, и он работает нормально. Однако когда я хочу получить доступ к одному из его свойств в коде, он всегда дает мне нулевое значение.

Кто-нибудь знает почему?

1 Ответ

1 голос
/ 14 апреля 2010

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

Взгляните на этот пример .Это показывает доступ к триггеру в C #.Возможно, это приведет вас в правильном направлении.

Код, который должен помочь, следующий:

System.Windows.Interactivity.Interaction.GetTriggers

, или вы можете сделать что-то вроде этого:* Вот небольшой пример.Когда EventTrigger добавляется в текстовое поле с именем TextBoxInvoker.

    <TextBox x:Name="TextBoxInvoker" Height="33" HorizontalAlignment="Left" VerticalAlignment="Top" Width="123" Text="TextBox" TextWrapping="Wrap">
        <interaction:Interaction.Triggers>
            <interaction:EventTrigger EventName="KeyDown" >
                <behavior:TextBoxEnterButtonInvoke TargetName="TargetedButton" />
            </interaction:EventTrigger>
        </interaction:Interaction.Triggers> 
    </TextBox>

Затем для доступа к триггеру с помощью кода вы можете сделать следующее.Это даст вам коллекцию триггеров, прикрепленных к элементу.

var triggerCollection = System.Windows.Interactivity.Interaction.GetTriggers(TextBoxInvoker);

или

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