Xamarin.Forms Toolbarıtem
Xamarin.FormsToolbarItem Sınıfı, bir nesnenin koleksiyonuna eklenebilen özel bir düğme türüdür PageToolbarItems . Her ToolbarItem nesne, uygulamanın gezinti çubuğunda bir düğme olarak görünür. Bir ToolbarItem örnek bir simgeye sahip olabilir ve birincil veya ikincil bir menü öğesi olarak görünebilir. ToolbarItemSınıfı öğesinden devralır MenuItem .
Aşağıdaki ekran görüntülerinde ToolbarItem iOS ve Android 'de gezinti çubuğundaki nesneler gösterilmektedir:
Android ve iOS 'ta "toolbarıtem ekran görüntüsü
ToolbarItemSınıfı aşağıdaki özellikleri tanımlar:
- Xamarin_Forms _ToolbarItem_Order "Data-LinkType =" Absolute-path ">,
OrderToolbarItemOrderToolbarItemÖrneğin birincil veya ikincil menüde görüntülenip görüntülenmeyeceğini belirleyen bir Enum değeridir. - Xamarin_Forms _ToolbarItem_Priority "Data-LinkType =" Absolute-path ">
Priority,integerbir nesnenin koleksiyonundaki öğelerin görüntülenme sırasını belirleyen bir değerdirPageToolbarItems.
ToolbarItemSınıfı, sınıfından aşağıdaki yaygın olarak kullanılan özellikleri devralır MenuItem :
- Xamarin_Forms _MenuItem_Command "Data-LinkType =" Absolute-path ">,
CommandICommandparmak modelleri veya tıklama gibi Kullanıcı eylemlerinin bir ViewModel üzerinde tanımlanan komutlara bağlamasını sağlayan bir yoldur. - Xamarin_Forms _MenuItem_CommandParameter "Data-LinkType =" Absolute-path ">
CommandParameterobject, öğesine geçirilmesi gereken parametreyi belirtirCommand. - Xamarin_Forms _MenuItem_IconImageSource "Data-LinkType =" Absolute-path ">
IconImageSource,ImageSourcebir nesnedeki görüntü simgesini belirleyen bir değerdirToolbarItem. - Xamarin_Forms _MenuItem_Text "Data-LinkType =" Absolute-path ">
Text, birstringnesne üzerinde görüntüleme metnini belirleyen birToolbarItem.
Bu özellikler nesneler tarafından desteklenir, BindableProperty böylece bir ToolbarItem örnek veri bağlamalarının hedefi olabilir.
Not
Nesnelerden bir araç çubuğu oluşturmanın alternatifi ToolbarItem , NavigationPage.TitleView ekli özelliği birden çok görünüm içeren bir düzen sınıfına ayarlamaya yönelik bir alternatiftir. Daha fazla bilgi için bkz. Gezinti çubuğunda görünümleri görüntüleme.
Toolbarıtem oluşturma
ToolbarItemXaml 'de bir nesne oluşturulabilir. TextVe IconImageSource Özellikleri, düğmenin gezinti çubuğunda nasıl görüntülendiğini belirleyecek şekilde ayarlanabilir. Aşağıdaki örnek, bazı ortak özellikler kümesi ile bir örneğini nasıl örneklendirilecek ToolbarItem ve onu bir koleksiyonuna eklemektir ContentPageToolbarItems :
<ContentPage.ToolbarItems>
<ToolbarItem Text="Example Item"
IconImageSource="example_icon.png"
Order="Primary"
Priority="0" />
</ContentPage.ToolbarItems>
Bu örnek, metin olan bir ToolbarItem nesnenin, bir simge ve ilk olarak birincil gezinti çubuğu alanında görünen bir nesne oluşmasına neden olur. ToolbarItemAyrıca, kodda oluşturulabilir ve ToolbarItems koleksiyona eklenebilir:
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);
Özelliği olarak belirtilen, tarafından temsil edilen dosyanın stringIconImageSource her platform projesinde mevcut olması gerekir.
Not
Görüntü varlıkları her platformda farklı şekilde işlenir. ImageSourceYerel bir dosya veya katıştırılmış kaynak, URI veya akış dahil olmak üzere kaynaklardan gelebilir. İçindeki özelliği ve görüntüleri ayarlama hakkında daha fazla bilgi için IconImageSourceXamarin.Forms bkz Images in Xamarin.Forms ..
Düğme davranışını tanımlama
ToolbarItemSınıfı, Clicked sınıfından olayını devralır MenuItem . ClickedXaml içindeki örneklere dokunmalar veya tıklarına yanıt vermek için olaya bir olay işleyicisi bağlanabilir ToolbarItem :
<ToolbarItem ...
Clicked="OnItemClicked" />
Kod içinde de bir olay işleyicisi eklenebilir:
ToolbarItem item = new ToolbarItem { ... }
item.Clicked += OnItemClicked;
Önceki örneklere bir OnItemClicked olay işleyicisine başvuruldu. Aşağıdaki kodda örnek bir uygulama gösterilmektedir:
void OnItemClicked(object sender, EventArgs e)
{
ToolbarItem item = (ToolbarItem)sender;
messageLabel.Text = $"You clicked the \"{item.Text}\" toolbar item.";
}
ToolbarItem nesneler, CommandCommandParameter olay işleyicileri olmadan kullanıcı girişine tepki vermek için ve özelliklerini de kullanabilir. ICommandArabirim ve MVVM veri bağlama hakkında daha fazla bilgi için bkz Xamarin.Forms MenuItem MVVM Behavior ..
Çalışma zamanında Toolbarıtem 'ı etkinleştirme veya devre dışı bırakma
Çalışma zamanında devre dışı bırakmayı devre dışı bırakmak için ToolbarItem , Command özelliğini bir ICommand uygulamaya bağlayın ve bir canExecute temsilcinin uygun şekilde etkinleştirmesini ve devre dışı bırakabilmesini sağlayın ICommand .
Daha fazla bilgi için bkz. çalışma zamanında MenuItem 'ı etkinleştirme veya devre dışı bırakma.
Birincil ve ikincil menüler
ToolbarItemOrderEnum Default , Primary ve Secondary değerlerini içerir.
OrderÖzelliği olarak ayarlandığında Primary , ToolbarItem nesne tüm platformlarda ana gezinti çubuğunda görüntülenir. ToolbarItem nesneler, öğeler için yer açmak üzere kesilecek sayfa başlığına göre önceliklendirilir. Aşağıdaki ekran görüntülerinde ToolbarItem iOS ve Android 'deki birincil menüdeki nesneler gösterilmektedir:

OrderÖzelliği olarak ayarlandığında Secondary davranış platformlar arasında farklılık gösterir. UWP ve Android 'de Secondary öğeler menüsü, öğeleri dikey bir listede açığa çıkarmak için dokunduğunuz veya tıklanmış üç nokta olarak görünür. İOS 'ta, Secondary öğeler menüsü gezinti çubuğunun altında yatay bir liste olarak görüntülenir. Aşağıdaki ekran görüntülerinde iOS ve Android 'de ikincil bir menü gösterilmektedir:

Uyarı
ToolbarItemOrder Özelliği olarak ayarlanmış nesnelerdeki simge davranışı Secondary platformlar arasında tutarsız. IconImageSourceİkincil menüde görünen öğelerde özelliği ayarlamaktan kaçının.
Örneği indirin