В настоящее время я работаю над проектом UWP и пытаюсь привязать некоторую команду с текущей страницы к пользовательскому контролю.
В то время как все остальные свойства кажутся правильно связанными, команда не является и, следовательно, являетсяне работает.
У вас есть идеи, откуда это может прийти?
Вот мой код (главная страница):
<Grid Visibility="{Binding LoginStep, Converter={StaticResource LogConverter}, ConverterParameter='InputPin'}"
Height="450px" Width="280px">
<PIN:PinInput Pin="{Binding CurrentUser.Pin, Mode=TwoWay}" x:Uid="btnPin" SubmitCommand="{Binding AddPinCommand, Mode=TwoWay}"></PIN:PinInput>
</Grid>
Посмотреть модель:
private ICommand _addPinCommand;
public ICommand AddPinCommand
{
get
{
return _addPinCommand ?? (_addPinCommand = new CommandBase((o) =>
{
this.LoginStep = LoginStep.ChoseCompany;
}));
}
}
Элемент управления пользователя:
DataContext="{Binding RelativeSource={RelativeSource Self}}"
<Grid Grid.Row="3">
<Grid.ColumnDefinitions>
<ColumnDefinition></ColumnDefinition>
</Grid.ColumnDefinitions>
<Button Style="{StaticResource btnStyle}" Command="{Binding SubmitCommand, Mode=TwoWay}">
<StackPanel>
<Border Style="{StaticResource btnInnerStyle}" Width="100px" CornerRadius="10">
<TextBlock Text="{Binding SubmitButtonText}" Style="{StaticResource btnText}"></TextBlock>
</Border>
</StackPanel>
</Button>
</Grid>
public static readonly DependencyProperty submitCommandProperty = DependencyProperty.Register("SubmitCommand", typeof(ICommand), typeof(PinInput), null);
public ICommand SubmitCommand
{
get
{
return (ICommand)GetValue(submitCommandProperty);
}
set
{
SetValue(submitCommandProperty, value);
}
}
Примечание:
в журнале ошибок У меня есть: Ошибка: ошибка пути BindingExpression: свойство 'AddPinCommand' не найдено в 'PAT.Mobile.UTrakk.UWP.Views.Components.PinInput.BindingExpression: Path = 'AddPinCommand' DataItem = 'PAT.Mobile.UTrakk.UWP.Views.Components.PinInput';Целевым элементом является PAT.Mobile.UTrakk.UWP.Views.Components.PinInput '(Name =' null ');целевое свойство 'SubmitCommand' (тип 'ICommand')
Заранее спасибо,
Thomas KT