【发布时间】:2017-09-14 22:03:21
【问题描述】:
我正在开发一个使用 MVVM 模式和 Prism 的 Xamarin Forms 项目。
我的问题是,我需要能够根据布尔值隐藏标签页上的标签。 XAML 中有一个名为“IsVisible”的可绑定属性,我认为它会对用户隐藏选项卡,但选项卡仍会显示,但在选择时会显示空白页。
目前我的 XAML 看起来像这样
<?xml version="1.0" encoding="utf-8"?>
<TabbedPage xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:prism="clr-namespace:Prism.Mvvm;assembly=Prism.Forms"
xmlns:local="clr-namespace:com.XXXXXXX"
prism:ViewModelLocator.AutowireViewModel="True"
BackgroundColor="White"
x:Class="com.XXXXXXXXXX.EditChargePage"
Title="{Binding Title}">
<local:EditChargeDetailsPage Title="Details" />
<local:EditChargeTrackingPage Title="Tracking" IsVisible="{Binding TabContext.HasTracking}" IsEnabled="{Binding TabContext.HasTracking}"/>
<local:EditChargeNotesPage Title="Notes" />
</TabbedPage>
最初为了解决问题,我只是使用“IsVisible”,当它没有按预期工作时,我添加了“IsEnabled”,它似乎没有做任何事情。
有没有办法在不破坏 MVVM 的情况下使用 Xamarin(或 Xamarin 的 Prism)中的布尔值从 UI 中隐藏选项卡?
【问题讨论】:
标签: c# xamarin xamarin.forms prism