Xamarin.forms Xamarin在选项卡上形成具有不同标题的Shell弹出按钮

Xamarin.forms Xamarin在选项卡上形成具有不同标题的Shell弹出按钮,xamarin.forms,Xamarin.forms,我正在从传统导航转向Shell。是否可以在弹出项和选项卡上显示不同的文本?选项卡文本需要简短,弹出按钮可以更具描述性 例如,我可能将呼叫帮助作为弹出项的标题,但只将呼叫作为选项卡。如果要实现此效果,可以通过将Shell.ItemTemplate附加属性设置为DataTemplate,对其进行自定义,然后让标签转换标题字符串: 比如: <Shell> ... <Shell.Resources> <ResourceDictionary>

我正在从传统导航转向Shell。是否可以在弹出项和选项卡上显示不同的文本?选项卡文本需要简短,弹出按钮可以更具描述性


例如,我可能将呼叫帮助作为弹出项的标题,但只将呼叫作为选项卡。

如果要实现此效果,可以通过将
Shell.ItemTemplate
附加属性设置为
DataTemplate
,对其进行自定义,然后让标签转换标题字符串:

比如:

<Shell>
   ...
  <Shell.Resources>
      <ResourceDictionary>
         <local:TitlleConverter x:Key="titleConverter" />
      </ResourceDictionary>
  </Shell.Resources>

  <Shell.ItemTemplate>
    <DataTemplate>
            <Label 
                   Text="{Binding Title,Converter= {StaticResource titleConverter}}"
                   FontAttributes="Italic"
                   VerticalTextAlignment="Center"  />   
    </DataTemplate>
  </Shell.ItemTemplate>   
   
  <FlyoutItem>         
     <ShellContent  Titile ="Call" />
     <ShellContent  Titile ="" />
     <ShellContent  Titile ="" />
  </FlyoutItem>
</Shell>
class TitlleConverter : IValueConverter
{
    public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
    {
        if (!string.IsNullOrEmpty((string)value) && value.Equals("Call"))
        {
            return "Call for Assistance";
        }
        return value;
    }

    public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
    {
        throw new NotImplementedException();
    }
}