来自xamarin.forms中listview中viewmodel的绑定行为

时间:2017-07-17 14:48:50

标签: xaml xamarin binding xamarin.forms behavior

我有一个列表视图,用于显示表单。 这是我的项目来源:

ObservableCollection<ContactBlockFieldViewModel> ContactBlockFIelds

每个ContactBlockFieldViewModel都包含public EContactFieldTypeDTO ContactField { get; set; }

我想将listview条目行为属性绑定到特定行为,具体取决于它是什么类型的联系人字段。

例如,对于电子邮件类型,我希望我的自定义EmailValidationBehavior。

我怎样才能做到这一点?我尝试将行为放在viewmodel中,然后

                                        <ListView ItemsSource="{Binding ContactBlockFields}" x:Name="ContactFieldsList">
                    <ListView.ItemTemplate>
                        <DataTemplate>
                            <ViewCell>
                                <StackLayout>
                                    <Label Text="{Binding FormDisplayName}" HorizontalTextAlignment="Start"></Label>
                                    <Entry Text="{Binding Value}" BackgroundColor="{Binding BackgroundColor}">
                                        <Entry.Behaviors>
                                            <Binding Path="BehaviorInViewModel"></Binding>
                                        </Entry.Behaviors>
                                    </Entry>
                                </StackLayout>
                            </ViewCell>
                        </DataTemplate>
                    </ListView.ItemTemplate>
                </ListView>

但它没有用,我也尝试使用转换器将枚举转换为行为但也没有成功。我检查了调试并调用了行为的构造函数,但是对象没有被绑定。

0 个答案:

没有答案