Şerit XML

Şerit (XML) öğesi, XML kullanarak bir şeridi özelleştirmenizi sağlar. Şeridi Şerit (Visual Tasarım Aracı) öğesi tarafından desteklenmeyen bir şekilde özelleştirmek istiyorsanız Şerit (XML) öğesini kullanın. Her öğeyle neler yapabileceğinizi karşılaştırmak için bkz . Şeride genel bakış.

Şunlar için geçerlidir: Bu konudaki bilgiler, aşağıdaki uygulamalar için belge düzeyi projeler ve VSTO Eklenti projeleri için geçerlidir: Excel; InfoPath 2013 ve InfoPath 2010; Outlook; Powerpoint; Proje; Visio; Kelime. Daha fazla bilgi için bkz. Office uygulaması ve proje türüne göre kullanılabilen özellikler.

Projeye Şerit (XML) öğesi ekleme

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

  • Şerit XML dosyası. Bu dosya Şerit kullanıcı arabirimini (UI) tanımlar. Sekmeler, gruplar ve denetimler gibi kullanıcı arabirimi öğeleri eklemek için bu dosyayı kullanın. Ayrıntılar için bu konunun devamında yer alan Şerit XML dosya başvurusu bölümüne bakın.

  • Şerit kod dosyası. Bu dosya Şerit sınıfını içerir. Bu sınıf, Yeni Öğe Ekle iletişim kutusunda Şerit (XML) öğesi için belirttiğiniz ada sahiptir. Microsoft Office uygulaması lications, özel şeridi yüklemek için bu sınıfın bir örneğini kullanır. Ayrıntılar için bu konunun devamında yer alan Şerit sınıf başvurusu bölümüne bakın.

    Varsayılan olarak, bu dosyalar şeritteki Eklentiler sekmesine özel bir grup ekler.

Microsoft Office uygulaması lication'da özel şeridi görüntüleme

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

Aşağıdaki kod örneği yöntemini geçersiz kılar CreateRibbonExtensibilityObject ve MyRibbon adlı bir Şerit XML sınıfı döndürür.

protected override Microsoft.Office.Core.IRibbonExtensibility CreateRibbonExtensibilityObject()
{
    return new MyRibbon();
}

Özel şeridin davranışını tanımlama

Geri çağırma yöntemleri oluşturarak şeritteki bir düğmeye tıklama gibi kullanıcı eylemlerini yanıtlayabilirsiniz. Geri çağırma yöntemleri Windows Forms denetimlerindeki olaylara benzer, ancak ui öğesinin XML'sindeki bir öznitelik tarafından tanımlanır. Şerit sınıfında yöntemler yazarsınız ve bir denetim öznitelik değeriyle aynı ada sahip yöntemini çağırır. Örneğin, bir kullanıcı şeritteki bir düğmeye tıkladığında çağrılan bir geri çağırma yöntemi oluşturabilirsiniz. Geri çağırma yöntemi oluşturmak için iki adım gerekir:

  • Şerit XML dosyasındaki kodunuzda geri çağırma yöntemini tanımlayan bir denetime öznitelik atayın.

  • Şerit sınıfında geri çağırma yöntemini tanımlayın.

Not

Outlook için ek bir adım gerekir. Daha fazla bilgi için bkz . Outlook için şeridi özelleştirme.

Şeritten bir uygulamanın nasıl otomatikleştirileceğini gösteren bir izlenecek yol için bkz . İzlenecek yol: Şerit XML kullanarak özel sekme oluşturma.

Denetimlere geri çağırma yöntemleri atama

Şerit XML dosyasındaki bir denetime geri çağırma yöntemi atamak için geri çağırma yönteminin türünü ve yönteminin adını belirten bir öznitelik ekleyin. Örneğin, aşağıdaki öğe adlı OnToggleButton1onAction geri çağırma yöntemine sahip bir iki durumlu düğme tanımlar.

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

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

Özniteliğinde belirttiğiniz yöntemin herhangi bir adı olabilir. Ancak, Şerit kod dosyasında tanımladığınız yöntemin adıyla eşleşmelidir.

Şerit denetimlerine atayabileceğiniz birçok farklı geri çağırma yöntemi türü vardır. Her denetim için kullanılabilen geri çağırma yöntemlerinin tam listesi için, Geliştiriciler için Office (2007) Şerit kullanıcı arabirimini özelleştirme (3. Bölüm 3) teknik makalesine bakın.

Geri çağırma yöntemlerini tanımlama

Şerit kod dosyasındaki Şerit sınıfında geri çağırma yöntemlerinizi tanımlayın. Geri çağırma yönteminin çeşitli gereksinimleri vardır:

  • Genel olarak bildirilmelidir.

  • Adı, Şerit XML dosyasındaki bir denetime atadığınız geri çağırma yönteminin adıyla eşleşmelidir.

  • İmzası, ilişkili Şerit denetimi için kullanılabilen bir geri çağırma yöntemi türünün imzası ile eşleşmelidir.

    Şerit denetimleri için geri çağırma yöntemi imzalarının tam listesi için, Geliştiriciler için Office (2007) Şerit kullanıcı arabirimini özelleştirme (3. Bölüm 3) teknik makalesine bakın. Visual Studio, Şerit kod dosyasında oluşturduğunuz geri çağırma yöntemleri için IntelliSense desteği sağlamaz. Geçerli bir imzayla eşleşmeyen bir geri çağırma yöntemi oluşturursanız kod derlenir, ancak kullanıcı denetime tıkladığında hiçbir şey olmaz.

    Tüm geri çağırma yöntemleri, yöntemini çağıran denetimi temsil eden bir IRibbonControl parametreye sahiptir. Aynı geri çağırma yöntemini birden çok denetim için yeniden kullanmak için bu parametreyi kullanabilirsiniz. Aşağıdaki kod örneği, kullanıcının tıkladığı denetime bağlı olarak farklı görevler gerçekleştiren bir onAction geri çağırma yöntemini gösterir.

    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 dosyası başvurusu

Şerit XML dosyasına öğe ve öznitelik ekleyerek özel şeridinizi tanımlayabilirsiniz. Şerit XML dosyası varsayılan olarak aşağıdaki XML'yi içerir.

<?xml version="1.0" encoding="UTF-8"?>
<customUI xmlns="http://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 tabloda Şerit XML dosyasındaki varsayılan öğeler açıklanmaktadır.

Öğe Açıklama
customUI VSTO Eklenti projesindeki özel şeridi temsil eder.
Şerit Şeridi temsil eder.
Sekme Şerit sekmeleri kümesini temsil eder.
Sekme Tek bir Şerit sekmesini temsil eder.
Grup Şerit sekmesindeki bir denetim grubunu temsil eder.

Bu öğeler, özel şeridin görünümünü ve davranışını belirten özniteliklere sahiptir. Aşağıdaki tabloda, Şerit XML dosyasındaki varsayılan öznitelikler açıklanmaktadır.

Öznitelik Üst öğe Açıklama
Onload customUI Uygulama şeridi yüklediğinde çağrılan bir yöntemi tanımlar.
idMso Sekme Şeritte görüntülenecek yerleşik bir sekmeyi tanımlar.
id Grup Grubu tanımlar.
Etiket Grup Grupta görüntülenen metni belirtir.

Şerit XML dosyasındaki varsayılan öğeler ve öznitelikler, kullanılabilen öğelerin ve özniteliklerin küçük bir alt kümesidir. Kullanılabilir öğelerin ve özniteliklerin tam listesi için Office'i özelleştirme (2007) Şerit kullanıcı arabirimini geliştiriciler için özelleştirme (Bölüm 2 /3) başlıklı teknik makaleye bakın.

Şerit sınıfı başvurusu

Visual Studio, Şerit kod dosyasında Şerit sınıfını oluşturur. Şeritteki denetimler için geri çağırma yöntemlerini bu sınıfa ekleyin. Bu sınıf arabirimini IRibbonExtensibility uygular.

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

Metot Açıklama
GetCustomUI Şerit XML dosyasının içeriğini döndürür. Microsoft Office uygulaması lications, özel şeridinizin kullanıcı arabirimini tanımlayan bir XML dizesi almak için bu yöntemi çağırır. Bu yöntem yöntemini uygular GetCustomUI . Not:GetCustomUI Yalnızca Şerit XML dosyasının içeriğini döndürmek için uygulanmalıdır; VSTO Eklentinizi başlatmak için kullanılmamalıdır. Özellikle, uygulamanızda GetCustomUI iletişim kutularını veya diğer pencereleri görüntülemeyi denememelisiniz. Aksi takdirde, özel şerit doğru şekilde davranmayabilir. VSTO Eklentinizi başlatan kodu çalıştırmanız gerekiyorsa, kodu olay işleyicisine ThisAddIn_Startup ekleyin.
OnLoad parametresini IRibbonControlRibbon alana atar. Microsoft Office uygulaması lications, özel şeridi yüklediklerinde bu yöntemi çağırır. Özel şeridi dinamik olarak güncelleştirmek için bu alanı kullanabilirsiniz. Daha fazla bilgi için, Office 'i özelleştirme (2007) Şerit kullanıcı arabirimini geliştiriciler için özelleştirme (Bölüm 1 / 3) başlıklı teknik makaleye bakın.
GetResourceText Şerit XML dosyasının GetCustomUI içeriğini almak için yöntemi tarafından çağrılır.