添加hamburger.png后如何在xamarin形式的主详细信息页面模板中添加徽标

时间:2019-06-24 10:54:59

标签: c# xamarin xamarin.forms master-detail

我正在尝试将徽标和搜索图标添加到xamrin形式的主详细信息页面模板中。我在母版页中使用了icon =“ hamburger.png”添加了汉堡包图标,但是如何在同一导航上添加徽标和搜索图标

2 个答案:

答案 0 :(得分:0)

如果您打算在工具栏中添加徽标,则应尝试使用Navigation.Titleview

<ContentPage>
    <NavigationPage.TitleView>
        <StackLayout Orientation="Horizontal" VerticalOptions="Center" Spacing="10">
            <Image Source="iconXamagon.png">               
            </Image>           
        </StackLayout>
    </NavigationPage.TitleView>
    ...
</ContentPage>

用于在工具栏中添加搜索图标

<ContentPage.ToolbarItems>
    <ToolbarItem Name="Search" Order="Primary"  Icon="Search.png" Priority="0" Command="{Binding SearchCommand}" />
</ContentPage.ToolbarItems>

答案 1 :(得分:0)

根据您的描述,我想您已经为母版页添加了汉堡图标,现在您想为导航添加另外两个图标,对吗?

如果是,您可以输入以下代码,我为导航添加了另一个图标。

首先,我创建一个名为MasterPageItem的新类

public class MasterPageItem
{
    public string Title { get; set; }

    public string IconSource { get; set; }

    public Type TargetType { get; set; }
}

这是母版页:

<ContentPage xmlns="http://xamarin.com/schemas/2014/forms" 
         xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
         xmlns:local="using:MasterDetailPageNavigation"
         x:Class="MasterDetailPageNavigation.MasterPage"
         Padding="0,40,0,0"
         Icon="hamburger.png"
         Title="Personal Organiser" >
<StackLayout>
    <ListView x:Name="listView" x:FieldModifier="public">
       <ListView.ItemsSource>
            <x:Array Type="{x:Type local:MasterPageItem}">
                <local:MasterPageItem Title="Contacts" IconSource="contacts.png" TargetType="{x:Type local:ContactsPage}" />
                <local:MasterPageItem Title="TodoList" IconSource="todo.png" TargetType="{x:Type local:TodoListPage}" />
                <local:MasterPageItem Title="Reminders" IconSource="reminders.png" TargetType="{x:Type local:ReminderPage}" />
            </x:Array>
        </ListView.ItemsSource>
        <ListView.ItemTemplate>
            <DataTemplate>
                <ViewCell>
                    <Grid Padding="5,10">
                        <Grid.ColumnDefinitions>
                            <ColumnDefinition Width="30"/>
                            <ColumnDefinition Width="*" />
                        </Grid.ColumnDefinitions>
                        <Image Source="{Binding IconSource}" />
                        <Label Grid.Column="1" Text="{Binding Title}" />
                    </Grid>
                </ViewCell>
            </DataTemplate>
        </ListView.ItemTemplate>
    </ListView>
</StackLayout>

有关详细信息,您可以查看以下文章:

https://docs.microsoft.com/en-us/xamarin/xamarin-forms/app-fundamentals/navigation/master-detail-page