在模板中绑定命令并在主视图中将操作设置为它

时间:2018-03-31 11:25:39

标签: c# xaml xamarin xamarin.forms

我已经创建了一个模板,我希望通过其他视图将Command绑定到操作。一切看起来都不错,但是当我尝试在主视图中设置Command时,它给了我错误:

  

严重级代码描述项目文件行抑制状态   错误位置34:17。未找到任何属性,可绑定属性或事件   for' DialogAccepted',或者值和不匹配的类型   属性。 ... Views \ DialogTestView.xaml 34

DialogForm.xaml

<StackLayout VerticalOptions="Fill" HorizontalOptions="FillAndExpand"> 
    <StackLayout.GestureRecognizers>
        <TapGestureRecognizer Command="{Binding DialogAccepted}" />
    </StackLayout.GestureRecognizers>
    <Label x:Name="TextAccept" BackgroundColor="White" Text="Cancel" FontSize="Small" TextColor="Black" VerticalOptions="FillAndExpand" HorizontalOptions="FillAndExpand" VerticalTextAlignment="Center" HorizontalTextAlignment="Center" />
</StackLayout>

DialogForm.xaml.cs

...
public ICommand DialogAccepted
{
    get;set;
}
...

DialogTestView.xaml

    ...
    <controls:DialogForm
        AbsoluteLayout.LayoutBounds="1,1, 1, 1"
        AbsoluteLayout.LayoutFlags="All"
        DialogAccepted="{Binding PopDialog}"
        IsVisible="{Binding IsVisible}">

    </controls:DialogForm>
    ...

DialogTestViewModel.xaml

public ICommand PopDialog
{
    get
    {
        return new Command(() =>
        {
            IsVisible ^= true;
        });
    }
}

命令PopDialog传递给DialogAccepted中的<controls:DialogForm/>。它应该在DialogFormbut中设置命令字段,它不起作用。任何建议如何解决这个问题?

0 个答案:

没有答案