我是否需要执行任何特定的操作,以使主工具栏项在Android上显示为禁用状态
我有以下XAML我是否需要执行任何特定的操作,以使主工具栏项在Android上显示为禁用状态,android,xaml,xamarin.forms,Android,Xaml,Xamarin.forms,我有以下XAML <ContentPage.ToolbarItems> <ToolbarItem x:Name="tbiEdit" Text="Edit" Order="Primary" Priority="1" Command="{Binding ToggleEditCommand}"> <ToolbarItem.Icon> <OnPlatform x:TypeArguments="FileImageSo
<ContentPage.ToolbarItems>
<ToolbarItem x:Name="tbiEdit" Text="Edit" Order="Primary" Priority="1" Command="{Binding ToggleEditCommand}">
<ToolbarItem.Icon>
<OnPlatform x:TypeArguments="FileImageSource">
<On Platform="Android" Value="ic_edit_white_24dp.png"/>
<On Platform="UWP" Value="Assets/Icons/ic_edit_dark_48dp.png"/>
</OnPlatform>
</ToolbarItem.Icon>
</ToolbarItem>
<ToolbarItem x:Name="tbiSave" Text="Save" Order="Primary" Priority="2" Command="{Binding SaveOrderCommand}">
<ToolbarItem.Icon>
<OnPlatform x:TypeArguments="FileImageSource">
<On Platform="Android" Value="ic_save_white_24dp.png"/>
<On Platform="UWP" Value="Assets/Icons/ic_save_dark_48dp.png"/>
</OnPlatform>
</ToolbarItem.Icon>
</ToolbarItem>
<ToolbarItem x:Name="tbiCopy" Text="Copy" Order="Secondary" Priority="3" Command="{Binding CopyOrderCommand}">
<ToolbarItem.Icon>
<OnPlatform x:TypeArguments="FileImageSource">
<On Platform="Android" Value="ic_content_copy_white_24dp.png"/>
<On Platform="UWP" Value="Assets/Icons/ic_content_copy_dark_48dp.png"/>
</OnPlatform>
</ToolbarItem.Icon>
</ToolbarItem>
<ToolbarItem x:Name="tbiDelete" Text="Delete" Order="Secondary" Priority="4" Command="{Binding DeleteOrderCommand}">
<ToolbarItem.Icon>
<OnPlatform x:TypeArguments="FileImageSource">
<On Platform="Android" Value="ic_delete_white_24dp.png"/>
<On Platform="UWP" Value="Assets/Icons/ic_delete_dark_48dp.png"/>
</OnPlatform>
</ToolbarItem.Icon>
</ToolbarItem>
</ContentPage.ToolbarItems>
你能发布你的命令码吗?@Billy,已经用检查逻辑更新了帖子。我希望这就是你想要的代码。@Lindsay我想知道你是否还有这个问题?@Matthewregl,很遗憾,是的,我有。这听起来像是个bug。我建议您在Xamarin.Forms repo上提交一个问题。请确保您尝试使用最新的Xamarin.Forms版本,以确保它不是已经解决的问题。
private bool CanSave()
{
if (!IsVMInEditMode) return false;
if (!DisplaySaveWarning) return false;
if (string.IsNullOrWhiteSpace(Title)) return false;
if (string.IsNullOrWhiteSpace(Details)) return false;
if (Title.Length > 50) return false;
if (Details.Length > 1000) return false;
return true;
}
private bool CanToggleEdit()
{
if (_order == null) return false;
if (!_order.IsUserCreated) return false;
return true;
}