다음을 통해 공유


Xamarin.Forms ToolbarItem

클래스는 Xamarin.FormsToolbarItem 개체의 컬렉션에 추가할 수 있는 특수한 Page 유형의 단추입니다 ToolbarItems . 각 ToolbarItem 개체는 애플리케이션의 탐색 모음에 단추로 표시됩니다. 인스턴스에는 ToolbarItem 아이콘이 있고 기본 또는 보조 메뉴 항목으로 표시할 수 있습니다. 클래스는 ToolbarItem .에서 MenuItem상속됩니다.

다음 스크린샷은 iOS 및 Android의 탐색 모음에 있는 개체를 보여 ToolbarItem 줍니다.

ToolbarItem 클래스는 다음 속성을 정의합니다.

  • OrderToolbarItemOrder 인스턴스가 기본 또는 보조 메뉴에 표시되는지 여부를 ToolbarItem 결정하는 열거형 값입니다.
  • Priorityinteger 개체 컬렉션에 있는 항목의 표시 순서를 Page 결정하는 값입니다 ToolbarItems .

클래스는 ToolbarItem 클래스에서 일반적으로 사용되는 다음과 같은 속성을 상속합니다 MenuItem .

  • CommandICommand viewmodel에 정의된 명령에 손가락 탭 또는 클릭과 같은 사용자 작업을 바인딩할 수 있도록 하는 것입니다.
  • CommandParameterobject 에 전달되어야 하는 매개 변수를 지정하는 입니다 Command.
  • IconImageSourceImageSource 개체의 표시 아이콘을 결정하는 값입니다 ToolbarItem .
  • Textstring 개체의 표시 텍스트를 결정하는 것입니다 ToolbarItem .

이러한 속성은 개체에 의해 BindableProperty 지원되므로 인스턴스가 ToolbarItem 데이터 바인딩의 대상이 될 수 있습니다.

참고 항목

개체에서 ToolbarItem 도구 모음을 만드는 대신 연결된 속성을 여러 뷰가 포함된 레이아웃 클래스로 설정하는 NavigationPage.TitleView 것입니다. 자세한 내용은 탐색 모음에서 보기 표시를 참조 하세요.

ToolbarItem 만들기

ToolbarItem XAML에서 개체를 인스턴스화할 수 있습니다. TextIconImageSource 속성을 설정하여 탐색 모음에 단추가 표시되는 방식을 결정할 수 있습니다. 다음 예제에서는 몇 가지 공통 속성 집합을 ToolbarItem 인스턴스화하고 's ToolbarItems 컬렉션에 ContentPage추가하는 방법을 보여 있습니다.

<ContentPage.ToolbarItems>
    <ToolbarItem Text="Example Item"
                 IconImageSource="example_icon.png"
                 Order="Primary"
                 Priority="0" />
</ContentPage.ToolbarItems>

이 예제에서는 ToolbarItem 텍스트와 아이콘이 있는 개체가 기본 탐색 모음 영역에 먼저 나타납니다. 코드에서 A ToolbarItem 를 만들고 컬렉션에 ToolbarItems 추가할 수도 있습니다.

ToolbarItem item = new ToolbarItem
{
    Text = "Example Item",
    IconImageSource = ImageSource.FromFile("example_icon.png"),
    Order = ToolbarItemOrder.Primary,
    Priority = 0
};

// "this" refers to a Page object
this.ToolbarItems.Add(item);

속성으로 IconImageSource 제공되는 파일이 string각 플랫폼 프로젝트에 있어야 합니다.

참고 항목

이미지 자산은 각 플랫폼에서 다르게 처리됩니다. 로컬 ImageSource 파일 또는 포함된 리소스, URI 또는 스트림을 포함한 원본에서 올 수 있습니다. 속성 및 이미지를 설정하는 IconImageSource 방법에 대한 자세한 내용은 다음의 Xamarin.Forms이미지를 Xamarin.Forms참조하세요.

단추 동작 정의

클래스는 ToolbarItem 클래스에서 이벤트를 상속합니다 Clicked MenuItem . 이벤트 처리기를 이벤트에 연결하여 XAML의 Clicked 인스턴스를 탭하거나 클릭하는 ToolbarItem 데 반응할 수 있습니다.

<ToolbarItem ...
             Clicked="OnItemClicked" />

이벤트 처리기는 코드에 연결할 수도 있습니다.

ToolbarItem item = new ToolbarItem { ... }
item.Clicked += OnItemClicked;

이전 예제에서는 이벤트 처리기를 OnItemClicked 참조했습니다. 다음 코드는 예제 구현을 보여줍니다.

void OnItemClicked(object sender, EventArgs e)
{
    ToolbarItem item = (ToolbarItem)sender;
    messageLabel.Text = $"You clicked the \"{item.Text}\" toolbar item.";
}

ToolbarItem 개체는 이벤트 처리기 없이 사용자 입력에 Command 반응하기 위해 및 CommandParameter 속성을 사용할 수도 있습니다. 인터페이스 및 MVVM 데이터 바인딩에 대한 ICommand 자세한 내용은 MenuItem MVVM 동작을 참조 Xamarin.Forms 하세요.

런타임에 ToolbarItem 사용 또는 사용 안 함

런타임에 사용하지 않도록 설정 ToolbarItem 하려면 해당 Command 속성을 구현에 ICommand 바인딩하고 대리자가 해당 속성을 적절하게 사용하도록 설정하고 사용하지 않도록 설정해야 canExecute 합니다 ICommand .

자세한 내용은 런타임에 MenuItem 사용 또는 사용 안 함을 참조 하세요.

기본 및 보조 메뉴

열거형에는 DefaultToolbarItemOrder 값과 값이 Primary있습니다Secondary.

Order 속성을 설정Primary하면 개체가 ToolbarItem 모든 플랫폼의 기본 탐색 모음에 표시됩니다. ToolbarItem 개체는 페이지 제목보다 우선 순위가 지정되며, 항목의 공간을 확보하기 위해 잘립니다. 다음 스크린샷은 iOS 및 Android의 기본 메뉴에 있는 개체를 보여 ToolbarItem 줍니다.

속성이 Order 설정된 Secondary경우 동작은 플랫폼마다 다릅니다. UWP 및 Android에서 Secondary 항목 메뉴는 세로 목록의 항목을 표시하기 위해 탭하거나 클릭할 수 있는 세 개의 점으로 나타납니다. iOS에서는 항목 메뉴가 Secondary 탐색 모음 아래에 가로 목록으로 표시됩니다. 다음 스크린샷은 iOS 및 Android의 보조 메뉴를 보여 줍니다.

Warning

속성이 Order 설정된 Secondary 개체의 ToolbarItem 아이콘 동작은 플랫폼 간에 일관성이 없습니다. 보조 메뉴에 표시되는 항목에 속성을 설정 IconImageSource 하지 않습니다.