У меня есть объявленный пользовательский TriggerAction
в моем XAML, и я привязываю к нему команду.Свойство Dependency GetValue возвращает null
<DataTemplate x:Key="data">
<StackPanel Orientation="Vertical">
<TextBlock Text="{Binding Name}"/>
<TextBox Width="150" Name="styleTb">
<i:Interaction.Triggers>
<i:EventTrigger EventName="TextChanged">
<behaviors:TextChangedTrigger TextChangedCommand="{Binding TextChangedCommand}"/>
</i:EventTrigger>
</i:Interaction.Triggers>
</TextBox>
</StackPanel>
</DataTemplate>
Но когда я пытаюсь получить значение с помощью метода GetValue
, он возвращает null
.
Это как класс выглядит
public class TextChangedTrigger : TriggerAction<TextBox>
{
public static readonly DependencyProperty TextChangedCommandProperty = DependencyProperty.Register("TextChangedCommand", typeof(ICommand),
typeof(TextChangedTrigger));
/// <summary>
/// Gets the Command which will be executed.
/// </summary>
public ICommand TextChangedCommand
{
get { return (ICommand)GetValue(TextChangedCommandProperty); }
set { SetValue(TextChangedCommandProperty, value); }
}
/// <summary>
/// Invokes the TextChangedCommand
/// </summary>
/// <param name="parameter"></param>
protected override void Invoke(object parameter)
{
object test = GetValue(TextChangedCommandProperty); // Returns null
}
Почему не возвращает нуль?
Как насчет использования 'object test = TextChangedCommand;'? –
@MikeEason не работает – Coding4Fun
См. Мой ответ. Я отредактировал его – Coding4Fun