xamarin 中行为和视图模型之间的通信

Communication between behavior and viewmodel in xamarin

我有一个自定义行为来验证我认为附加到条目中的电话号码:

<Entry x:Name="phoneNumber" Text="{Binding TelephoneNum, Mode=TwoWay}">
    <Entry.Behaviors>
        <behaviors:TelNumBehavior x:Name="NumValidatorUser" />
    </Entry.Behaviors>
</Entry>

我将 mvvm 模式与视图和视图模型一起使用。 该行为具有可绑定的 isValid 属性。我如何在我的 Viewmodel 中使用该值?这两个类怎么能交流呢?消息服务不是我的选择,因为我有多种行为,我需要验证它们。有没有办法访问行为的 isValid-att?

为您的页面命名,以供稍后参考:

<ContentPage x:Name="Root" etc, etc>

在您的行为中将路径和源设置为页面的绑定上下文:

<Entry x:Name="phoneNumber" Text="{Binding TelephoneNum, Mode=TwoWay}">
    <Entry.Behaviors>
             <behaviors:TelNumBehavior x:Name="NumValidatorUser" />
            IsValid="{Binding Source={x:Reference Root}, 
                      Path=BindingContext.YourPropertyIsValid, Mode=TwoWay}"/>
    </Entry.Behaviors>        
</Entry>