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>
我有一个自定义行为来验证我认为附加到条目中的电话号码:
<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>