Şerit XML

Şerit (XML) öğesi, XML kullanarak Şerit'i özelleştirmenize olanak sağlar. Şerit (Visual Designer) öğesi tarafından desteklenmeyen bir yolla Şerit'i özelleştirmek istiyorsanız, Şerit (XML) öğesini kullanın. Her bir öğeyle ne yapabileceğinizi karşılaştırmak için, bkz. Şerite Genel Bakış.

Uygulama alanı: Bu konudaki bilgiler şu uygulamaların belge düzeyi projelerine ve uygulama düzeyi projelerine yöneliktir: Excel 2007 ve Excel 2010; InfoPath 2007 ve InfoPath 2010; Outlook 2007 ve Outlook 2010; PowerPoint 2007 ve PowerPoint 2010; Project 2010; Visio 2010; Word 2007 ve Word 2010. Daha fazla bilgi için bkz. Office Uygulamalarında Kullanılabilir Özellikler ve Proje Türü.

Projeye Şerit (XML) Öğesi Ekleme

Şerit (XML) öğesini herhangi bir Office projesine Yeni Öğe Ekle iletişim kutusundan ekleyebilirsiniz. Visual Studio, aşağıdaki dosyaları otomatik olarak projenize ekler:

  • Şerit XML dosyası. Bu dosya, Şerit kullanıcı arayüzünü (UI) tanımlar. Bu dosyayı, sekmeler, gruplar ve denetimler gibi UI öğelerini eklemek için kullanın. Detaylar için, bu konunun devamında Şerit XML Dosya Başvurusu'a bakınız.

  • Şerit kod dosyası. Bu dosya, Şerit sınıfı'nı içerir. Bu sınıf, Yeni Öğe Ekle iletişim kutusunda Şerit (XML) için belirlediğiniz isme sahiptir. Microsoft Office uygulamaları, özel Şerit'i yüklemek için bu sınıfın bir örneğini kullanır. Detaylar için, bu konunun devamında Şerit Sınıfı Başvurusu'a bakınız.

Varsayılarn olarak bu belgeler, Şerit'teki Eklentiler sekmesine özel bir grup ekler.

Microsoft Office Uygulamasında Özel Şerit'i Görüntüleme

Projenize Şerit (XML) ekledikten sonra, CreateRibbonExtensibilityObject yöntemini geçersiz kılan ve Office uygulamasına Şerit XML sınıfını döndüren ThisAddin, ThisWorkbook veya ThisDocument sınıfına kod eklemelisiniz.

Aşağıdaki kod örneği, CreateRibbonExtensibilityObject yöntemi geçersiz kılar ve MyRibbon isimli Şerit XML sınıfı döner.

Protected Overrides Function CreateRibbonExtensibilityObject() As  _
Microsoft.Office.Core.IRibbonExtensibility
    Return New MyRibbon()
End Function
protected override Microsoft.Office.Core.IRibbonExtensibility CreateRibbonExtensibilityObject()
{
    return new MyRibbon();
}

Özel Şerit'in Davranışını Tanımlama

geri arama yöntemleri oluşturarak, kullanıcı eylemlerine yanıt verebilirsiniz, örn. Şerit üzerinde bir düğmeyi tıklatmak. Geri arama yöntemleri, Windows Forms denetimlerindeki olaylara benzerdir, fakat UI öğesinin XML'indeki bir öznitelik tarafından tanımlanırlar. Şerit sınıfındaki yöntemleri ve öznitelik değeriyle aynı isme sahip olan yöntemi çağıran bir denetimi yazabilirsiniz. Örneğin, kullanıcı Şerit üzerinde bir düğmeyi tıklattığında çağırılan geri arama yöntemi oluşturabilirsiniz. Geri arama yöntemi oluşturmak için iki adım gereklidir:

  • Kodunuzda geri arama yöntemini tanımlayan Şerit XML dosyasında, denetime bir öznitelik atayın.

  • Şerit sınıfında geri arama yöntemini tanımlayın.

Not

Outlook'ta, ek bir adım gereklidir. Daha fazla bilgi için bkz. Outlook için Şerit'i Özelleştirme.

Şerit'ten bir uygulamanın nasıl otomatikleştirildiğini gösteren bir anlatım için, bkz. İzlenecek Yol: Özel sekmesini Kurdele xml kullanarak oluşturma.

Denetimlere Geri Arama Yöntemleri Atama

Şerit XML dosyasındaki bir denetime geri arama yöntemi atamak için, geri arama yönteminin türünü ve yöntemin ismini belirleyen bir öznitelik ekleyin. Örneğin, aşağıdaki öğede, OnToggleButton1 onAction geri arama yöntemine sahip iki durumlu düğme tanımlanır.

<toggleButton id="toggleButton1" onAction="OnToggleButton1" />

Kullanıcı, belirli bir denetimle ilişkili olan ana görevi gerçekleştirdiğinde, onAction çağırılır. Örneğin, iki durumlu düğmenin onAction geri arama yöntemi, kullanıcı düğmeyi tıklattığında çağrılır.

Öznitelikte belirttiğiniz yöntem, herhangi bir isme sahip olabilir. Fakat, Şerit kod dosyasında tanımladığınız yöntemin adıyla eşleşmelidir.

Şerit denetimlerine atayabileceğiniz birçok değişik türde geri arama yöntemleri vardır. Her denetimde kullanılabilen geri arama yöntemlerinin tam listesi için, Customizing the Office (2007) Ribbon User Interface for Developers (Part 3 of 3) teknik makaleye bakın.

Geri Arama Yöntemlerini Tanımlama

Şerit kod dosyasındaki Şerit sınıfında geri arama yöntemlerini tanımlayın. Geri arama yönteminin birçok gereksinimi vardır:

  • Ortak olarak bildirilmelidir.

  • İsmi, Şerit XML dosyasında denetime atadığınız geri arama yönteminin ismiyle eşleşmelidir.

  • İmzası, ilgili Şerit sınıfı için kullanılabilir olan geri arama yönteminin türünün imzasıyla eşleşmelidir.

Şerit denetimleri için geri arama yöntemi imzalarının tam listesi için, Customizing the Office (2007) Ribbon User Interface for Developers (Part 3 of 3) teknik makaleye bakın. Visual Studio, Şerit kod dosyasında oluşturduğunuz geri arama yöntemleri için IntelliSense desteği sağlamaz. Geçerli bir imzayla eşleşmeyen geri arama yöntemi oluşturursanız, kod derlenir ama kullanıcı denetimi tıklattığında hiçbir şey olmaz.

Tüm geri çağrı yöntemlerini sahip bir Microsoft.Office.Core.IRibbonControl parametresi temsil eden denetimi, olarak adlandırılan yöntem. Bu parametreyi, çoklu denetimleri için aynı geri arama yöntemini yeniden kullanmak amacıyla kullanabilirsiniz. Aşağıdaki kod örneğinde, kullanıcının tıklattığı denetime bağlı olarak farklı görevler gerçekleştiren onAction geri arama yöntemi gösterilir.

Public Sub OnActionCallback(ByVal control As Office.IRibbonControl, _
    ByVal isPressed As Boolean)

    If (control.Id = "checkBox1") Then
        MessageBox.Show("You clicked " + control.Id)
    Else
        MessageBox.Show("You clicked a different control.")
    End If

End Sub
public void OnActionCallback(Office.IRibbonControl control, bool isPressed)
{
    if (control.Id == "checkBox1")
    {
        MessageBox.Show("You clicked " + control.Id);
    }
    else
    {
        MessageBox.Show("You clicked a different control.");
    }
}

Şerit XML Dosya Başvurusu

Kendi özel Şerit'inizi, Şerit XML dosyasına öğeler ve öznitelikler ekleyerek tanımlayabilirsiniz. Varsayılan olarak, Şerit XML dosyası aşağıdaki XML'i içerir.

<?xml version="1.0" encoding="UTF-8"?>
<customUI xmlns="https://schemas.microsoft.com/office/2006/01/customui" onLoad="OnLoad">
  <ribbon>
    <tabs>
      <tab idMso="TabAddIns">
        <group id="MyGroup"
               label="My Group">
        </group>
      </tab>
    </tabs>
  </ribbon>
</customUI>

Aşağıdaki tablo Şerit XML dosyasındaki varsayılan öğeleri açıklar.

Öğe

Açyklama

customUI

Eklenti projesindeki özel Şerit'i temsil eder.

ribbon

Şerit'i temsil eder.

tabs

Bir dizi Şerit sekmesini temsil eder.

tab

Tek bir Şerit sekmesini temsil eder.

group

Şerit sekmesindeki denetim grubunu temsil eder.

Bu öğeler, özel Şerit'in görünümünü ve davranışını belirleyen özniteliklere sahiptir. Aşağıdaki tablo Şerit XML dosyasındaki varsayılan öznitelikleri açıklar.

Öznitelik

Üst öğe

Açıklama

onLoad

customUI

Uygulama Şerit'i yüklediğinde çağrılan bir yöntemi tanımlar.

idMso

tab

Şerit'i görüntülemek için yerleşik sekmeyi tanımlar.

id

group

Grubu tanımlar.

label

group

Grup üzerinde görünen metni belirler.

Şerit XML dosyasındaki varsayılan öğeler ve öznitelikler, kullanılabilir olan öğelerin ve özniteliklerin küçün bir alt kümesidir. Kullanılabilir öğelerin ve özniteliklerin tam listesi için, Customizing the Office (2007) Ribbon User Interface for Developers (Part 2 of 3) teknik makaleye bakın.

Şerit Sınıfı Başvurusu

Visual Studio, Şerit kod dosyasında Şerit sınıfını yaratır. Şerit üzerindeki denetimler için geri arama yöntemlerini bu sınıfa ekleyin. Bu sınıf, Microsoft.Office.Core.IRibbonExtensibility arayüzünü uygular.

Aşağıdaki tabloda, bu sınıftaki varsayılan yöntemler açıklanır.

Method

Açıklama

GetCustomUI

Şerit XML dosyasının içindekilerini döner. Microsoft Office uygulamaları, özel Şerit'inizin kullanıcı arayüzünü tanımlayan XML dizgisini elde etmek için bu yöntemi çağırır. Bu yöntemi uygulayan IRibbonExtensibility.GetCustomUI(String) yöntemi.

NotNot
GetCustomUI, sadece Şerit XML dosyasının içindekilerini döndürmek için uygulanmalıdır; eklentinizi başlatmak için kullanılmamalıdır.Özellikle, GetCustomUI uygulamasında iletişim kutularını veya diğer pencereleri görüntülemeye çalışmamalısınız.Aksi durumda, özel Şerit doğru çalışmayabilir.Eklentinizi başlatan bir kodu çalıştırmak zorundaysanız, kodu ThisAddIn_Startup olay işleyicisine ekleyin.

OnLoad

Microsoft.Office.Core.IRibbonControl parametresini, ribbon alanına atar. Microsoft Office uygulamaları, özel Şerit'i yüklediklerinde bu yöntemi çağırır. Özel Şerit'i dinamik olarak güncellemek için bu alanı kullanabilirsiniz. Daha fazla bilgi için, Customizing the Office (2007) Ribbon User Interface for Developers (Part 1 of 3) teknik makaleye bakın.

GetResourceText

Şerit XML dosyasının içindekileri elde etmek için GetCustomUI yöntemi tarafından çağrılır.

Ayrıca bkz.

Görevler

İzlenecek Yol: Özel sekmesini Kurdele xml kullanarak oluşturma

Diğer Kaynaklar

Şerite Genel Bakış

Office UI Özelleştirmesi