Aracılığıyla paylaş


Kaynak denetimi görüntüleme yapılandırması XML başvurusu

Kaynak denetimi görüntüleme yapılandırması (RCDC) kaynakları, Microsoft Identity Manager 2016 SP1 (MIM) veri deposundaki diğer kaynakların son kullanıcıya kullanıcı arabiriminde (UI) nasıl görüneceğini denetlemek için kullanabileceğiniz kullanıcı tanımlı kaynaklardır. Her RCDC kaynağı, kullanıcı arabirimi metni ve kullanıcı arabirimi denetimleri eklemek, değiştirmek veya kaldırmak için değiştirebileceğiniz bir XML yapılandırma dosyası içerir. MIM 2016 SP1 birkaç varsayılan RCDC kaynağı sağlarken, özel kaynaklar için özel RCDC kaynakları da oluşturabilirsiniz. FIM Portalı'nda RCDC kullanıcı arabirimini kullanma hakkında daha fazla bilgi için, FIM belgelerindeki FIM Portalı Yapılandırma ve Özelleştirmeye Giriş bakın.

Bilinen sorunlar

Birçok RCDC denetimindeki varsayılan değer desteklenmez.

Bu sürümde, seçenek düğmesi denetimi dışında bir kaynak denetimindeki denetimlerde varsayılan değerlerin ayarlanması desteklenmez. Kullanıcıyı seçimi değiştirmeye zorlamak için herhangi bir değerle ilişkili olmayan bir varsayılan değer belirterek açılan kutu için bu soruna geçici bir çözüm bulabilirsiniz. Bu sorunu diğer denetimlerle geçici olarak çözmek için, isteğin gönderilmesi sırasında varsayılan bir değer sağlamak için yetkilendirme iş akışını kullanmanız gerekir.

Temel yapı

RCDC kaynağının XML verileri tek bir ObjectControlConfiguration XML öğesinden oluşur.

Uyarı

Tam XSD şeması için bkz. Ek A: Varsayılan XSD şeması.

Aşağıda, ObjectControlConfiguration öğesinin XSD şeması yer alır:

<xsd:element name="ObjectControlConfiguration"\>
  <xsd:complexType\>
    <xsd:sequence\>
      <xsd:element ref="my:ObjectDataSource" minOccurs="0" maxOccurs="32"/>
      <xsd:element ref="my:XmlDataSource" minOccurs="0" maxOccurs="32"/>
      <xsd:element ref="my:Panel"/>
      <xsd:element ref="my:Events" minOccurs="0" maxOccurs="1"/>
    </xsd:sequence>
    <xsd:attribute ref="my:TypeName"/>
    <xsd:anyAttribute processContents="lax" namespace="http://www.w3.org/XML/1998/namespace"/>
  </xsd:complexType>
</xsd:element>

ObjectControlConfiguration öğesi aşağıdaki öğeleri içerir:

  • ObjectDataSource: Bu öğe, Kaynak Denetimi'nin (RC) kullandığı bir veri kaynağı sınıfının TypeName değerini belirtir. Açıklama ve şema tanımı için bu belgenin aşağıdaki Veri kaynakları bölümüne bakın. bir ObjectControlConfiguration öğesi, ObjectDataSource öğesinin en fazla 32 düğümlerini içerebilir.

  • XmlDataSource: Bu, özet sayfasının tasarımını belirtmek için en yaygın olarak kullanılan basit bir veri kaynağıdır. Açıklama ve şema tanımı için bu belgenin aşağıdaki Veri kaynakları bölümüne bakın. bir ObjectControlConfiguration: öğesi XmlDataSource öğesinin en fazla 32 düğümlerini içerebilir.

  • Panel: Yönetici, Panel öğelerinin içindeki öğeleri değiştirerek RCDC sayfasının düzenini özelleştirebilir. Daha fazla bilgi için bu belgenin devamında yer alan Panel bölümüne bakın. ObjectControlConfiguration öğesi yalnızca bir Panel öğesine sahip olmalıdır.

  • Olaylar: Yöneticiler arka planda özelleştirilmiş kod sağlayamaz, bu özellik sınırlıdır. Bu, durum değişikliğine bağlı olarak bir panel veya denetimin yayabileceği olaydır. Daha fazla bilgi için bu belgenin devamında yer alan Olaylar bölümüne bakın. ObjectControlConfiguration öğesi isteğe bağlı olarak bir Event öğesi içerebilir. Genel olarak, özel Olayları kullanımı, özellikle sonraki geliştirmelerde geliştirilmedikçe desteklenmez.

Veri kaynakları

Microsoft Identity Manager, kullanıcı arabirimi bileşenlerine veri bağlamanın bir yolu olarak veri kaynaklarını kullanır. Bu, verilerin sunu katmanından ayrılmasını kolaylaştırır. RCDC kaynak yapılandırma verilerinde iki tür veri kaynağı vardır: ObjectDataSource ve xmldatasource .

  • ObjectDataSources RC'ye veri sağlayan bir Microsoft .NET sınıfı belirtin. Yöneticinin RCDC'leri yazarken kullanabileceği sabit bir ObjectDataSource türü kümesi vardır.

  • XMLDataSources XML tabanlı verileri yapılandırmak için basit bir yol sağlar ve yöneticiler tarafından özelleştirilmiş veriler sağlamak için kullanılabilir. Yerleşik, önceden tanımlanmış XML yapısını kullanmadığınız sürece XML verileri doğrudan RCDC'de belirtilmelidir. Yerleşik XML yapısı, RC'de özet sayfaları oluşturmak için kullanılır.

RCDC'de, bu veri kaynaklarını RCDC'de belirtilen kullanıcı arabirimi denetimlerinin özniteliklerine bağlayarak kullanıcı arabirimini oluşturabilirsiniz.

ObjectDataSource öğeleri

Microsoft Identity manager, aşağıdaki tabloda yer alan ve tüm kaynak türleri (not edilenler dışında) için kullanılabilen ortak veri kaynağı türlerini sağlar.

TürAdı Açıklama İki yönlü bağlama Bağlama söz dizimi
PrimaryResourceObjectDataSource Bu, oluşturulan, düzenlenen veya görüntülenen FIM 2010 kaynağını temsil eder. Bağlama dizesindeki yol öznitelik adıdır. Kaynak türü RCDC yerine RCDC'nin TargetObjectType özniteliği tarafından belirtilir. ConfigurationData özniteliği. Evet adıyla verilen nesne özniteliğinin değerini [AttributeName].
PrimaryResourceDeltaDataSource Bu veri kaynağı, FIM 2010 kaynağının özgün durumunu ve geçerli durumunu karşılaştıran delta XML'yi oluşturur. Oluşturulan delta XML, kullanıcının gönderdiği istek için kullanıcı arabirimini işlemek üzere RC özet denetimi tarafından tüketilir. Hayı DeltaXml Bu, deltayı görüntülemek için özet denetimiyle birlikte kullanılır.
PrimaryResourceRightsDataSource Bu veri kaynağı, FIM 2010 kaynağının her özniteliği için satır içi hakları sağlar. Bu, RC'nin kullanıcının bu öznitelik üzerinde hangi izinlere sahip olduğunu göndermeden önce belirlemesini ve ardından bu öznitelik için kullanıcı arabirimini uygun şekilde işlemesini sağlar. Hayı [AttributeName]
SchemaDataSource Bu veri kaynağı görünen ad, açıklama, özniteliğin gerekli olup olmadığı ve kaynak türü bilgileri gibi şemayla ilgili bilgilere erişmek için kullanılabilir. Hayı Özniteliğin geçerli olması için bir değere sahip olması gerekip gerekmediğini belirten Boole değerini [AttributeName].Required.
[AttributeName].DisplayNameString Bağlamanın Görünen Adını gösteren Değer.
[AttributeName].DescriptionString Bağlamanın Açıklamasını gösteren Değer.
Bir bağlamanın Dize Regex'ini gösteren [AttributeName].StringRegexString değer.
[AttributeName].DisplayName
[AttributeName].Description
[AttributeName].IntegerValueMinimum
[AttributeName].IntegerValueMaximum
[AttributeName].LocalizedAllowedValues
DomainDataSource Bu veri kaynağı, etki alanı yapılandırma kaynaklarına göre etki alanlarının bir numaralandırmasını sağlar. Bu veri kaynağı yalnızca grup kaynakları ve kullanıcı kaynakları için olan RCDC'lerde kullanılabilir. Evet Alan adı

Aşağıda, bir grubun Description özniteliğini düzenlemek için UocTextBox denetimine üç veri kaynağı bağlayan örnek bir RCDC kod parçacığı verilmiştir:

<my:ObjectDataSource my:TypeName="PrimaryResourceObjectDataSource" my:Name="object" my:Parameters=""/>
<my:ObjectDataSource my:TypeName="SchemaDataSource" my:Name="schema"/>
<my:ObjectDataSource my:TypeName="PrimaryResourceRightsDataSource" my:Name="rights"/>

     <my:Control my:Name="Description" my:TypeName="UocTextBox" my:Caption="{Binding Source=schema, Path=Description.DisplayName}" my:RightsLevel="{Binding Source=rights, Path=Description}">
          <my:Properties>
               <my:Property my:Name="Required" my:Value="{Binding Source=schema, Path=DisplayName.Required}"/>
               <my:Property my:Name="Rows" my:Value="3"/>
               <my:Property my:Name="Columns" my:Value="60"/>
               <my:Property my:Name="MaxLength" my:Value="450"/>
               <my:Property my:Name="Text" my:Value="{Binding Source=object, Path=Description, Mode=TwoWay}"/>
          </my:Properties>
     </my:Control>

XMLDataSource öğesi

XMLDataSource öğesi kullanarak, RCDC'nin belirli bir kaynak için kullanabileceği özel verileri belirtebilirsiniz. Bu durumda, XML verileri RCDC'de belirtilmelidir. Alternatif olarak, bu veri kaynağı özet sayfaları için kullanıcı arabirimini işlemek üzere yerleşik xml veri yapısına başvurmak için kullanılabilir. XMLDataSourcetürünü RCDC'de tanımlarken kullanılacak XMLDataSource türünü denetlersiniz.

TürAdı Açıklama İki yönlü bağlama Bağlama söz dizimi
XMLDataSource Veri kaynağı XML verilerini temsil eder. Veriler XSL veya katıştırılmış XSL biçimlerinde olabilir:
  • Microsoft.IdentityManagement.WebUI.Controls.dllXSL biçimi:
    <my:XmlDataSource my:Name="summaryTransformXsl" my:Parameters="Microsoft.IdentityManagement. WebUI.Controls.Resources.DefaultSummary.xsl"> </my:XmlDataSource>
  • Katıştırılmış XSL biçimi:
    <my:XmlDataSource my:Name="RequestStatusTransformXsl"><xsl:stylesheet version="1.0" xmlns:xsl=http://www.w3.org/1999/XSL/Transform xmlns:msxsl="urn:schemas-microsoft-com:xslt"></xsl:stylesheet></my:XmlDataSource>
Hayı Xpath[;namespaces]burada Xpath, en sık "/" (kök) olmak üzere gerekli notu seçmek için geçerli bir XML xpath'tir. namespaces, prefix=URI dizelerinin isteğe bağlı bir listesidir. Xpath'in ad alanı XML'sinde çalışması için gereken şekilde dize noktalı virgülle ayrılmıştır.
ReferenceDeltaDataSource Veri kaynağı, birden çok değerli başvuru özniteliklerinin deltalarını temsil eder. Yalnızca Grup ve Küme için RCDC'de kullanılır.
Veri kaynağı Gruplar veya Kümelerle sınırlı olmamakla birlikte, bu tür deltaları göndermek için RCDC ana bilgisayarında kod değişiklikleri gerektirir. Şu anda bu veri kaynağını tanıyan tek konak Grup ve Kümedir.
Evet [AttributeName].Add bir başvuru özniteliğini temsil ettiği ve döndürülen verilerin değişim eklemeleri olduğu [AttributeName].
  • Örnek: [ReferenceAttribute].Add
  • Örnek: <my:Property my:Name="Value" my:Value="{Binding Source=delta, Path=ExplicitMember.Add, Mode=TwoWay}"/>
[AttributeName].Remove bir başvuru özniteliğini temsil ettiği ve döndürülen verilerin delta kaldırmaları olduğu [AttributeName].
DeltaXml
RequestDetailsDataSource Veri kaynağı, request nesnelerinin RequestParameter özniteliğini temsil eder. parametresi, birden çok değerli öznitelik başına görüntülenecek en fazla öznitelik değeri sayısını ayarlar. Yalnızca İstek için RCDC'de kullanılır. <my:ObjectDataSource my:TypeName="RequestDetailsDataSource" my:Name="requestDetails" my:Parameters="1000" /> Hayı DeltaXml
RequestStatusDataSource Veri kaynağı request nesnelerinin RequestStatusDetails özniteliğini temsil eder. Yalnızca İstek için RCDC'de kullanılır. Hayı DeltaXml

Özel xml veri kaynağı tanımlamak için aşağıdaki XML'yi kullanın:

<my:XmlDataSource my:Name="MyCustomData" >
    %Insert custom, properly formatted XML data here%
</my:XmlDataSource>

Yerleşik özet denetimi XSL'yi kullanmak için veri kaynağını aşağıdaki gibi tanımlayın:

<my:XmlDataSource my:Name="summaryTransformXsl" my:Parameters="Microsoft.IdentityManagement.WebUI.Controls.Resources.DefaultSummary.xsl" />

Özel bir kaynak türü için RCDC oluşturuyorsanız, bu yöntemi kullanarak bu özel kaynağın özet sayfasını otomatik olarak işleyebilirsiniz.

Aşağıda, yerleşik XSL kullanarak XMLDataSource öğesiyle PrimaryResourceDeltaDataSource öğesini kullanarak RCDC'de bir özet sekmesi oluşturma örneği verilmiştir:

<my:ObjectDataSource my:TypeName="PrimaryResourceDeltaDataSource" my:Name="delta" />
<my:XmlDataSource my:Name="summaryTransformXsl" my:Parameters="Microsoft.IdentityManagement.WebUI.Controls.Resources.DefaultSummary.xsl" />

<my:Grouping my:Name="summaryGroup" my:Caption="Summary” my:IsSummary="true">
     <my:Control my:Name="summaryControl" my:TypeName="UocHtmlSummary" my:ExpandArea="true">
          <my:Properties>
               <my:Property my:Name="ModificationsXml" my:Value="{Binding Source=delta, Path=DeltaXml}" />
              <my:Property my:Name="TransformXsl" my:Value="{Binding Source=summaryTransformXsl, Path=/}" />
          </my:Properties>
     </my:Control>
</my:Grouping>

Alternatif olarak, kullanıcı özet sayfasının özelleştirilmiş düzenini tanımlamak için daha önce belirtilen XmlDataSource öğesini aşağıdaki biçimle değiştirebilir. Başvuru olarak, varsayılan FIM 2010 Özeti XSL bu belgenin devamında Ek B: Varsayılan Özet XSL'ye eklenir.

<my:XmlDataSource my:Name="summaryTransformXsl">
     Insert valid XSL code here
</my:XmlDataSource>

Veri kaynakları şeması

Aşağıdaki XSD şeması iki tür veri kaynağı oluşturur:

<xsd:element name="ObjectDataSource">
     <xsd:complexType>
          <xsd:sequence/>
          <xsd:attribute ref="my:TypeName"/>
          <xsd:attribute ref="my:Name"/>
          <xsd:attribute ref="my:Parameters"/>
     </xsd:complexType>
</xsd:element>
<xsd:element name="XmlDataSource">
     <xsd:complexType  mixed="true">
          <xsd:sequence>
              <xsd:any minOccurs="0" maxOccurs="unbounded" processContents="lax"/>
          </xsd:sequence>
          <xsd:attribute ref="my:Name"/>
          <xsd:attribute ref="my:Parameters"/>
    </xsd:complexType>
</xsd:element>

Olay öğesi

Olay öğesi, denetimin değişen durumunu tanımlar. Bu özelliğin genişletilebilirliği sınırlıdır çünkü bir olay tetiklendiğinde davranışı tanımlamak için özelleştirilmiş bir işlev (İşleyici) yazamazsınız. Panel öğesinde aynı Event öğesi kullanılabilir. Daha fazla bilgi için bu belgenin devamında yer alan Panel bölümüne bakın.

Olay öğesinin XSD şeması aşağıdadır:

<xsd:element name="Events">
     <xsd:complexType>
          <xsd:sequence>
               <xsd:element ref="my:Event" minOccurs="1" maxOccurs="16"/>
          </xsd:sequence>
     </xsd:complexType>
</xsd:element>
<xsd:element name="Event">
     xsd:complexType>
          <xsd:simpleContent>
               <xsd:extension base="xsd:string">
                    xsd:attribute ref="my:Name"/>
                    <xsd:attribute ref="my:Handler"/>
               </xsd:extension>
          </xsd:simpleContent>
     </xsd:complexType>
     </xsd:element>

Olay boş bir öğedir ve aşağıdaki özniteliklere sahiptir:

  • Adı: Bu, bir olayın benzersiz adıdır. ObjectControlConfiguration desteklenen tek olay Load olayıdır. Bu olay, sayfa ilk yüklendiğinde tetikleniyor.

  • İşleyicisi: Bu, işleyicinin benzersiz adıdır. Olay tetiklendiğinde, denetimin durumunun değiştirilmesini işlemek için genellikle bir program yöntemi çağrılır. Aşağıdaki durumlar desteklenmez:

    • Mevcut bir denetimden var olan bir işleyiciyi kaldırma.
    • Yeni işleyici oluşturma.
    • Var olan veya yeni bir denetime işleyici ekleme.

Aşağıda bir Olayları öğesi örneği verilmiştir:

<my:Events>
    <my:Event my:Name="Load" my:Handler="OnLoad"/>
</my:Events>

Panel öğesi

Paneli öğesi, RCDC düzenindeki temel öğedir. Panel öğesinin XSD şeması aşağıdadır:

<xsd:element name="Panel">
     <xsd:complexType>
          <xsd:sequence>
               <xsd:element ref="my:Grouping" minOccurs="1" maxOccurs="16"/>
          </xsd:sequence>
          <xsd:attribute ref="my:Name"/>
          <xsd:attribute ref="my:DisplayAsWizard"/>
          <xsd:attribute ref="my:Caption"/>
          <xsd:attribute ref="my:AutoValidate"/>
     </xsd:complexType>
</xsd:element>

Paneli öğesi, gruplandırma yinelenen bir öğe içerir. Daha fazla bilgi için bu belgenin Gruplandırma bölümüne bakın.

Panel öğesi aşağıdaki özniteliklere sahiptir:

  • Adı: Panelin adı. Bu gerekli bir dize türü özniteliğidir.

  • DisplayAsWizard: Bu öznitelik şu anda kullanım dışıdır. RcDC'de karşılık gelen VerbContext özniteliği, kaynak düzeninin Sihirbaz modunda mı yoksa Sekme modunda mı olduğunu yönetir. 0 (Oluşturma modu) olarak ayarlandıysa, sihirbaz modunda da olur. Aksi takdirde, Sekme modundadır. Daha fazla bilgi için belgelerde FIM Portalını Yapılandırma ve Özelleştirmeye Giriş bölümüne bakın.

  • Resim Yazısı: Bu öznitelik şu anda kullanım dışıdır. Kullanıcı, yalnızca üst bilgi bilgilerini içeren bir Grup ekleyerek sayfanın açıklamalı alt yazılarını belirtebilir. Daha fazla bilgi için bu belgenin Gruplandırma bölümüne bakın.

  • AutoValidate: Bu isteğe bağlı bir Boole özniteliğidir. Geçerli sekmedeki her denetim için doğru doğrulamaya ayarlandığında tetikleniyor. Varsayılan olarak, öznitelik eksikse true olarak ayarlanır. RegularExpression özelliğiyle birlikte kullanılabilir. Daha fazla bilgi için bu belgenin sonraki bir bölümündeki "RegularExpression" bölümüne bakın.

Gruplandırma öğesi

Gruplandırma öğesi bir Panelin genel düzenini tanımlar. Tek tek denetimleri farklı bölümler ve sekmeler halinde gruplandıran bir kapsayıcı işlevi görür. Gruplandırma öğesinin XSD şeması aşağıdadır:

<xsd:element name="Grouping">
     <xsd:complexType>
          <xsd:sequence>
               <xsd:element ref="my:Help" minOccurs="0"  maxOccurs="1"/>
               <xsd:element ref="my:Control" minOccurs="1" maxOccurs="256"/>
               <xsd:element ref="my:Events" minOccurs="0" maxOccurs="1"/>
          </xsd:sequence>
          <xsd:attribute ref="my:Name"/>
          <xsd:attribute ref="my:Caption"/>
          <xsd:attribute ref="my:Description"/>
          <xsd:attribute ref="my:Enabled"/>
          <xsd:attribute ref="my:Visible"/>
          <xsd:attribute ref="my:IsHeader"/>
          <xsd:attribute ref="my:IsSummary"/>
     </xsd:complexType>
</xsd:element>

Üç tür Gruplandırma öğesi vardır:

  • Üst Bilgi Gruplandırma: Üst Bilgi Gruplandırma isteğe bağlıdır. Paneli'nde yalnızca bir Üst Bilgi Gruplandırmaolabilir. Üst Bilgi Gruplandırma, panelin üst kısmında resim yazısı olarak görünür. Bu gruplandırmada yalnızca bir UocCaptionControl kullanılabilir. Üst Bilgi Gruplandırma örneği için Örnek bölümüne bakın.

  • İçerik Gruplandırma: En az bir İçerik Gruplandırma gereklidir. Panelde birden çok İçerik Gruplandırma olabilir. bir rcdc sayfasının ana içeriği olarak bir İçerik Gruplandırma görünür. Her İçerik Gruplandırma aynı Panelde bir sekme olarak görünür ve 1 ile 256 arasında denetim barındırabilir. İçerik Gruplandırmaörneği için Örnekler bölümüne bakın.

  • Özet Gruplandırma: Özet Gruplandırma isteğe bağlıdır. Panelde yalnızca bir Özet Gruplandırma olabilir. Özet Gruplandırma, Panelin son sekmesi olarak görünür. Kullanıcının istek göndermeden önce yaptığı değişiklikleri görüntülemek için Özet Gruplandırma'da yalnızca bir UocHtmlSummary denetimi kullanılabilir. Özet Gruplandırma örneği için Örnekler bölümüne bakın.

Her Gruplandırma türü aşağıdaki öğeleri içerir:

  • Yardım: Bu öğe bir sekmede Yardım metni sağlar. Sekmenin Yardım dosyasına bağlantı eklemek için de kullanabilirsiniz.

  • Denetimleri: Bu öğe hakkında bilgi için bu belgenin Denetim bölümüne bakın. Her gruplandırma, gruplandırma türüne bağlı olarak kapsayıcı olarak 1 ile 256 arasında denetime sahip olmalıdır.

  • Olaylar: Bu öğe hakkında bilgi için bu belgenin Olaylar bölümüne bakın. Her gruplandırma seçeneği olarak tek bir Olay içerebilir. Gruplandırma öğesinde desteklenen Olaylar aşağıdaki gibidir:

    • BeforeLeave: Bu Olay, kullanıcı içerik gruplandırmada sekme bırakmaya hazır olduğunda tetikleniyor.
    • AfterEnter: Bu Olay, kullanıcı içerik gruplandırmada bir sekme girmeye hazır olduğunda tetiklenir.

Gruplandırma aşağıdaki yedi özniteliği içerebilir:

  • Adı: Bu, Gruplandırma'nın gerekli adıdır. AdıPaneliiçinde benzersiz olmalıdır.

  • Caption: Caption, Üst Bilgi Gruplandırma'da üst bilgi başlığı olarak görünür. İçerik veya Özet gruplandırmalarının sekme başlığı olarak görünür.

  • Açıklama: İsteğe bağlı bir dize özniteliği olan Description yalnızca İçerik Gruplandırma'da kullanıldığında çalışır. Son kullanıcıya aynı sekmedeki bilgiler hakkında biraz ayrıntı vermek için bu öğeyi kullanın.

    Uyarı

    Bu öznitelik Özet Gruplandırma'da kullanılıyorsa, XML geçersiz olarak kabul edilir. Bu öznitelik Bir Üst Bilgi Gruplandırmasında kullanılıyorsa, XML geçerli kabul edilir ancak yoksayılır.

  • Etkin: İsteğe bağlı bir Boole özniteliği olan Enabled, eksik olduğunda true olarak ayarlanır. Etkin ayarı false olarak ayarlanırsa, son kullanıcı Devre Dışı sekmesini görür. Bu öznitelik yalnızca İçerik gruplandırmada işlevseldir.

    Uyarı

    Bu öznitelik Özet Gruplandırma'da kullanılıyorsa, XML geçersiz olarak kabul edilir. Bu öznitelik Bir Üst Bilgi Gruplandırmasında kullanılıyorsa, XML geçerli kabul edilir ancak yoksayılır.

  • Görünür: Bu özniteliği false olarak ayarlayarak RCDC sayfa sekmesini veya başlığını gizleyebilirsiniz. Varsayılan olarak, bu isteğe bağlı Boole türü özniteliği true olarak ayarlanır. Bu öznitelik yalnızca İçerik Gruplandırma'da işlevseldir.

    Uyarı

    Panelde yalnızca bir İçerik Gruplandırması olduğunda bu özellik çalışmaz. Panelde birden fazla İçerik Gruplandırma olduğunda, daha önce açıklandığı gibi davranır.

  • IsHeader: Bu öznitelik, Gruplandırma'nın Üst Bilgi Gruplandırma olup olmadığını tanımlayan isteğe bağlı bir Boole özniteliğidir. Bu öznitelik belirtilmezse false olarak ayarlanır.

  • IsSummary: Bu, Gruplandırma'nın Bir Özet gruplandırması olup olmadığını tanımlayan isteğe bağlı bir Boole özniteliğidir. Bu öznitelik belirtilmezse false olarak ayarlanır.

Gruplandırma öğesi türleri için örnekler

Bu bölüm Gruplandırmalar öğesine örnekler içerir.

Örnek: Üst Bilgi Gruplandırma

Aşağıdaki şekilde örnek bir Üst Bilgi Gruplandırma gösterilmektedir:

üst bilgi gruplandırmaHeader GroupingHeader Grouping

Aşağıdaki XML örnek bir Üst Bilgi Gruplandırma oluşturur. XML'de Üst Bilgi Gruplandırma, "Örnek Üst Bilgi Gruplandırma" resim yazısı metnini içeren alandır.

<!--Sample for a Header Grouping-->
<my:Grouping my:Name="HeaderGroupingSample" my:IsHeader="true">
     <my:Control my:Name="SampleHeaderCaption" my:TypeName="UocCaptionControl" my:ExpandArea="true" my:Caption="Sample Header Grouping">
          <my:Properties>
               <my:Property my:Name="MaxHeight" my:Value="32"/>
               <my:Property my:Name="MaxWidth" my:Value="32"/>
          </my:Properties>
      </my:Control>
</my:Grouping>
<!--End of Header Grouping Sample-->

Örnek: İçerik Gruplandırma

Aşağıdaki şekilde örnek bir İçerik Gruplandırma gösterilmektedir:

İçerik Gruplandırma

Aşağıdaki XML örnek bir İçerik Gruplandırma oluşturur. XML'de İçerik Gruplandırma, "Örnek İçerik Gruplandırma" resim yazısı metninin bulunduğu alandır.

<!--Sample for a Content Grouping-->
<my:Grouping my:Name="ContentGroupingSample" my:Caption="Sample Content Grouping" my:Description="Some description for content grouping">
     <my:Control my:Name="DisplayName" my:TypeName="UocTextBox" my:Caption="Display name" my:Description="This is the display name of the set.">
          <my:Properties>
               <my:Property my:Name="Required" my:Value="True"/>
               <my:Property my:Name="MaxLength" my:Value="128"/>
               <my:Property my:Name="Text" my:Value="{Binding Source=object, Path=DisplayName, Mode=TwoWay}"/>
          </my:Properties>
     </my:Control>
</my:Grouping>
<!--End of Content Grouping Sample-->

Örnek: Özet Gruplandırma

Aşağıdaki şekilde örnek özet gruplandırma gösterilmektedir:

Özet Gruplandırma

Aşağıdaki XML örnek bir Özet Gruplandırma oluşturur. XML'de Özet Gruplandırma, "Örnek Özet Gruplandırma" resim yazısı metnini içeren alandır.

<!--Sample for a Summary Grouping-->
<my:Grouping my:Name="Summary" my:Caption="Sample Summary Grouping" my:IsSummary="true">
     <my:Control my:Name="SummaryControl" my:TypeName="UocHtmlSummary" my:ExpandArea="true">
          <my:Properties>
               <my:Property my:Name="ModificationsXml" my:Value="{Binding Source=delta, Path=DeltaXml}"/>
               <my:Property my:Name="TransformXsl" my:Value="{Binding Source=summaryTransformXsl, Path=/}"/>
          </my:Properties>
     </my:Control>
</my:Grouping>
<!--End of Summary Grouping Sample-->

Yardım öğesi

Yardım öğesi bir Gruplandırma veya Control öğesine isteğe bağlı bir öğe olarak eklenebilir. Gruplandırmada kullanılıyorsa, kullanılan ilk öğe olmalıdır. Son kullanıcılara doğru bilgileri sağlamalarına yardımcı olmak için metinsel Yardım sağlar. Aşağıdaki XSD şeması Yardım öğesine yöneliktir:

<xsd:element name="Help">
     <xsd:complexType>
          <xsd:sequence/>
          <xsd:attribute ref="my:HelpText"/>
          <xsd:attribute ref="my:Link"/>
     </xsd:complexType>
</xsd:element>

Aşağıdaki XML örnek kodu bir Yardım öğesi oluşturur:

<my:Help my:HelpText="Some Help Text for Group Basic Info" my:Link="03e258a0-609b-44f4-8417-4defdb6cb5e9.htm#bkmk_grouping_GroupingBasicInfo" />

Denetim öğesi

Gruplandırma öğesi bir veya daha fazla Denetimi öğesi içerir. Denetimler, RCDC'deki ana öğelerdir. Gruplandırma öğesini, içerdiği farklı Control öğelerini tanımlayarak özelleştirebilirsiniz. Aşağıdaki XSD şeması Control öğesine yöneliktir:

<xsd:element name="Control">
     <xsd:complexType>
          <xsd:sequence>
               <xsd:element ref="my:Help" minOccurs="0"  maxOccurs="1"/>
               <xsd:element ref="my:CustomProperties" minOccurs="0"  maxOccurs="1"/>
               <xsd:element ref="my:Options" minOccurs="0"  maxOccurs="1"/>
               <xsd:element ref="my:Buttons" minOccurs="0"  maxOccurs="1"/>
               <xsd:element ref="my:Properties" minOccurs="0"  maxOccurs="1"/>
               <xsd:element ref="my:Events" minOccurs="0" maxOccurs="1"/>
          </xsd:sequence>
          <xsd:attribute ref="my:Name"/>
          <xsd:attribute ref="my:TypeName"/>
          <xsd:attribute ref="my:Caption"/>
          <xsd:attribute ref="my:Enabled"/>
          <xsd:attribute ref="my:Visible"/>
          <xsd:attribute ref="my:Description"/>
          <xsd:attribute ref="my:ExpandArea"/>
          <xsd:attribute ref="my:Hint"/>
          <xsd:attribute ref="my:AutoPostback"/>
          <xsd:attribute ref="my:RightsLevel"/>
     </xsd:complexType>
</xsd:element>

Control öğesi aşağıdaki öğeleri içerir:

  • Yardım: Bu öğe yoksayılır. Yalnızca Gruplandırma'da çalışır.

  • CustomProperties: Bu öğe desteklenmiyor.

  • Seçenekleri: Bu öğe yalnızca UocDropDownList veya UocRadioButtonList Denetimleri birlikte kullanılır. Diğer denetimlerle çalışmaz. Bu öğenin yapısı için bu belgedeki Seçenekler bölümüne bakın. Seçeneklerin bir denetim tarafından nasıl kullanıldığını görmek için bu belgenin Tek tek denetimler bölümüne bakın.

  • Düğmeleri: Bu öğe yalnızca UocListView Denetimi ile birlikte kullanılır. Diğer denetimler için işlevsel değildir. Daha fazla bilgi için bu belgenin UocListView bölümüne bakın.

  • Özellikleri: Bu öğe, bir Denetimin ek davranışlarını belirtmek için tüm Denetimlerde kullanılır. Bu öğe hakkında bilgi için bu belgenin Özellikler bölümüne bakın.

  • Olaylar: Bu öğenin yapısı için, bu belgenin önceki bölümlerindeki Olaylar bölümüne bakın. Denetimde hangi olayların kullanıldığını görmek için bu belgenin Tek tek denetimler bölümüne bakın.

Control öğesi aşağıdaki 10 özniteliği içerebilir:

  • Adı: Bu, denetimin Adıdır. Bir Denetimin adı her panelde benzersiz olmalıdır. Bu gerekli bir dize türü özniteliğidir.

  • TypeName: Bu öznitelik, ne tür bir Denetim olduğunu belirtir. Bu gerekli bir dize türü özniteliğidir. Her denetim adı için bu belgedeki Tek Tek Denetimler bölümüne bakın.

  • Resim Yazısı: Denetim için bir resim yazısı eklemek için bu özniteliği kullanabilirsiniz. Resim yazısı genellikle denetimin görüntülendiği veya giriş yaptığı verilerin görünen adıdır. Resim yazısı için açıkça bir değer belirtebilir veya şema özniteliği görünen ad bilgileriyle bağlayabilirsiniz. Resim yazısı, normal boyutlu bir denetimin en sol tarafında görünür. Bir denetim tam ekrana yayılmışsa, resim yazısı denetimin üzerinde görünür. Bu isteğe bağlı bir dize türü özniteliğidir. Bir veri kaynağını bir öznitelik veya özellik değeriyle bağlama hakkında bilgi için Özellikler bölümüne bakın.

    Aşağıdaki örnekte açıklamalı alt yazının nasıl açıkça kullanılabileceğini gösterilmektedir:

      <my:Control my:Name="ExplicitAlias" my:TypeName="UocTextBox" my:Caption="Explicit Alias">…<my:Control/>
    

    Aşağıdaki örnek, bir resim yazısının veri kaynağıyla nasıl kullanılabileceğini gösterir. Bu belgenin önceki bölümlerinde gösterilen bir veri kaynağı için şablonu kullandıysanız, veri kaynağınız şemadır. Özniteliğin DisplayName değerini bir Caption özniteliğiyle bağlamanızı öneririz.

    <my:Control my:Name="DynamicAlias" my:TypeName="UocTextBox" my:Caption="{Binding Source=schema, Path=Alias.DisplayName, Mode=OneWay}">…<my:Control/>
    
  • Etkin: Bu isteğe bağlı, Boole türünde bir özniteliktir. Kullanıcı, bu öznitelik değerini false olarak ayarlayarak Denetimi devre dışı bırakabilir. Varsayılan değer true olarak ayarlanır.

  • Görünür: Bu isteğe bağlı, Boole türünde bir özniteliktir. Denetimin tamamını gizlemek için bu özniteliği kullanabilirsiniz. Varsayılan değer true olarak ayarlanır.

  • Açıklama: Son kullanıcının denetime ne koyması gerektiğini veya denetimin ne yaptığını anlamasına yardımcı olacak bir açıklama eklemek için bu isteğe bağlı dize türü özniteliğini kullanın. Açıklama için açıkça bir değer belirtebilir veya şema özniteliği açıklama bilgileriyle bağlayabilirsiniz.

    Açıklama, resim yazısının altında normal boyutlu bir denetimin en sol tarafında görünür. Bir denetim tam ekrana yayılmışsa açıklama, resim yazısının altında denetimin üst kısmında görünür. Bir veri kaynağını bir öznitelik veya özellik değeriyle bağlama hakkında bilgi için bu belgenin Özellikler bölümüne bakın.

    Aşağıdaki örnekte, açıklamanın nasıl açıkça kullanılabileceğini gösterilmektedir:

    <my:Control my:Name="ExplicitAlias" my:TypeName="UocTextBox" my:Caption="Explicit Alias" my:Description="This is explicit description.">…<my:Control/>
    

    Bu örnekte, açıklamanın bir veri kaynağıyla nasıl kullanılabileceğini gösterilmektedir. Bu belgenin önceki bölümlerinde gösterilen bir veri kaynağı için şablonu kullandıysanız, veri kaynağınız şema. Özniteliğin Açıklama bir Description özniteliğiyle bağlamanızı öneririz.

    <my:Control my:Name="DynamicAlias" my:TypeName="UocTextBox" my:Caption="{Binding Source=schema, Path=Alias.DisplayName, Mode=OneWay}" my:Description="{Binding Source=schema, Path=Alias.Description, Mode=OneWay}">…<my:Control/>
    
  • expandArea : Bu öznitelik, denetimin tam ekrana yayılıp yayılmadığını gösterir. Bu isteğe bağlı, Boole türünde bir özniteliktir. Varsayılan değer false olarak ayarlanır.

    Uyarı

    Bu öznitelik true olarak ayarlandığında Resim Yazısı ve Açıklama öznitelikleri devre dışı bırakılır. Genişletilmiş denetim için resim yazısı sağlamak için UocLabel denetimini kullanın.

  • İpucu: Bu isteğe bağlı bir dize türü özniteliğidir. İpucu özniteliğindeki metin, son kullanıcının denetim için geçerli bir girişin ne olduğuna karar vermesine yardımcı olur. İpucu denetimin altında görünür.

  • AutoPostback : Bu isteğe bağlı, Boole türünde bir özniteliktir. Varsayılan değer false'tur. false olarak ayarlanırsa, sayfa yenilendiğinde denetim yenilenmeyebilir. AutoPostback hakkında bilgi için aynı ada sahip Microsoft ASP.NET kullanıcı arabirimi denetimi özelliğini arayın.

  • RightsLevel: Bu isteğe bağlı bir dize türü özniteliğidir. Bu özniteliği yalnızca bir veri kaynağıyla satır içi haklarla bağlayabilirsiniz. Denetim, kullanıcının haklarına bağlı olarak dinamik olarak açılır veya devre dışı bırakılır. Veri kaynaklarını bir öznitelik veya özellik değeriyle bağlama hakkında bilgi için bu belgenin Özellikler bölümüne bakın.

    Bu örnekte, RightsLevel özniteliğinin bir veri kaynağıyla nasıl kullanılabileceğini gösterir. Şablonu bu belgenin önceki bölümlerinde gösterilen bir veri kaynağı için kullandıysanız, veri kaynağınız haklarıdır. Yol olarak öznitelik adını kullanın.

Özellik öğesi

Her denetimin davranışını daha da özelleştirmek için bir Özelliği öğesi kullanabilirsiniz. Özellik boş bir öğedir. Aşağıdaki XSD şeması Property öğesine yöneliktir:

<xsd:element name="Properties">
     <xsd:complexType>
          <xsd:sequence>
               <xsd:element ref="my:Property" minOccurs="1" maxOccurs="32"/>
          </xsd:sequence>
     </xsd:complexType>
</xsd:element>
<xsd:element name="Property">
     <xsd:complexType>
          <xsd:simpleContent>
               <xsd:extension base="xsd:string">
                    <xsd:attribute ref="my:Name"/>
                    <xsd:attribute ref="my:Value"/>
               </xsd:extension>
          </xsd:simpleContent>
     </xsd:complexType>
</xsd:element>

Her Özelliğin aşağıdaki iki gerekli özniteliği vardır:

  • Name: Bu dize türü özniteliği Özelliğin benzersiz adıdır. Farklı denetimlerin farklı özellikleri vardır. Tüm denetimler tarafından kullanılabilecek bazı ortak özellikler vardır. Belirli bir denetim için hangi adların kullanılabilir olduğu hakkında daha fazla bilgi için bu belgenin Ortak özellikler ve Tek tek denetimler bölümlerine bakın.

  • Değer: Bu, Özelliğin değeridir. Değerin veri türü, atandığı özelliğe bağlıdır. Belirli özellikler için izin verilen değer biçimi için aşağıdaki bölüme bakın.

Veri kaynağı içeriğiyle Bağlama Özelliği

Bazı özellikler bir veri kaynağından alınan bilgilerle bağlanabilir. Bu bağlamayı yapmak için aşağıdaki dize biçimini kullanın. Özellikleri bir veri kaynağına bağlamayı öğrenmek için bu belgenin Bireysel denetimler bölümündeki tek tek özelliklerin açıklamasına bakın.

<my:Property my:Name="Required" my:Value="[Formatted String]"/>

   Formatted String :=  “{Binding “ + [SourceExpression] + “,” + [PathExpression] + “,” + [ModeExpression]? + “}

   SourceExpression:= “Source=” + [ObjectDataSourceName]

   PathExpression:= “Path=” + [AttributeName]|[AttributePropertyName]

   ModeExpression:= “Mode=” + [ModeChoice]

   ModeChoice:= “OneWay”|”TwoWay”

   ObjectDataSourceName:= The value of any string assign to node /ObjectControlConfiguration/ObjectDataSource/Name.

   AttributeName:= valid schema attribute name from the data source.

   AttributePropertyName:= valid property name of a schema attribute from the data source.

Aşağıdaki XML, bir veri kaynağının bir Özelliği öğesine nasıl bağlanacağını gösterir:

<my:Property my:Name="Text" my:Value="{Binding Source=object, Path=DisplayName, Mode=TwoWay}"/>
<my:Property my:Name="Required" my:Value="{Binding Source=schema, Path=DisplayName.Required}"/>

Ortak özellikler

Bu belgede belirtilen tüm RCDC denetimleri, bu bölümde açıklanan ortak özelliklere sahip olabilir. Bu Özellikleri, farklı denetimlere özgü diğer Özelliklerle birlikte kullanabilirsiniz.

  • Gerekli: Bu özellik, alanın gerekli bir alan veya isteğe bağlı bir alan olduğunu gösterir. Gerekli bir alan bir değerle doldurulmalıdır. Dize girişi için boş bir değer desteklenmez. İsteğe bağlı bir alan boş bırakılabilir. Bu alan, değer doldurulmamış gerekli bir alansa, giriş denetiminin üstünde bir hata iletisi görüntülenir. Bir alanın gerekli mi yoksa isteğe bağlı mı olduğunu açıkça belirtebilirsiniz. Ayrıca, alanı belirli bir bağlamanın şema bilgileriyle bir öznitelik ve kaynak türü arasında bağlayabilirsiniz. Varsayılan olarak, bu özellik eksikse, denetimin isteğe bağlı bir giriş denetimi olduğu anlamına gelir.

    Aşağıdaki örnekte bu özellik için açık bir değer kullanılır:

    <my:Property my:Name="Required" my:Value="True"/>
    

    Bu, bu özellik için dinamik veri kaynağı kullanan bir örnektir. Bu belgenin önceki bölümünde gösterilen bir veri kaynağı için şablonu kullandıysanız, veri kaynağınız şemadır. Yol olarak <attribute name>.Required kullanın.

    <my:Property my:Name="Required" my:Value="{Binding Source=schema, Path=DisplayName.Required}"/>
    
  • ReadOnly: Bu özelliği true olarak ayarlayarak, son kullanıcı denetimi salt okunur modda deneyimler. Bu isteğe bağlı, Boole türünde bir özniteliktir. Varsayılan değer false olarak ayarlanır. Ancak, bazen bu özelliğin davranışının üzerine denetimle veri bağlaması üzerinde bir kişinin sahip olduğu hakların türü yazılır. Örneğin, bir kullanıcının bir alanı güncelleştirme hakları yoksa ve alan satır içi haklarla ilişkiliyse, bu özellik false olarak ayarlansa bile kullanıcı verileri salt okunur modda görür.

  • RegularExpression: Bu özellik, denetimdeki değere uygulanan kısıtlamaları belirtir. Bu özellik değerinin biçimleri.NET StringRegex standardında desteklenen biçimlerdir. Daha fazla bilgi için bkz. .NET Framework Normal İfadeleri . Denetim bir değer girişinde kullanılırsa, kullanıcı geçerli sayfadan ayrılmaya çalıştığında bu özellikte belirtilen kısıtlamaya karşı değer denetlenirse. Geçersiz girişe sahip denetimin üstünde hata iletisi görüntülenir. Kullanıcı açıkça bir dize normal ifadesi belirtebilir. Kullanıcı, belirli bir özniteliğin şema bilgileriyle de bağlayabilir. Varsayılan olarak, bu özellik eksikse, denetimin giriş dizelerinde herhangi bir kısıtlama olup olmadığını denetlemediği anlamına gelir.

    Aşağıdaki örnekte bu özellik için açık bir değer kullanılır:

    <my:Property my:Name="RegularExpression" my:Value="[A-Z]*"/>
    

    Bu, bu özellik için dinamik veri kaynağı kullanan bir örnektir. Bu belgede daha önce gösterilen bir veri kaynağı için şablonu kullandıysanız, veri kaynağınız şemadır. Yol olarak <attribute name>.StringRegex kullanın.

    <my:Property my:Name="RegularExpression" my:Value="{Binding Source=schema, Path=Alias.StringRegex, Mode=OneWay}"/>
    
  • Görünür: Bu isteğe bağlı, Boole türünde bir özniteliktir. Denetimin tamamını gizlemek için bu özniteliği kullanabilirsiniz. Varsayılan değer true olarak ayarlanır.

Options öğesi

Options öğesi bir veya daha fazla Option alt düğüm içerir. Seçenekleri öğesi yalnızca UocRadioButtonList ve UocDropDownList denetimleriyle kullanılır. Bu denetimlerin nasıl kullanılacağı hakkında ayrıntılı bilgi için bu belgenin Tek tek denetimler bölümüne bakın.

Aşağıdaki XSD şeması Options öğesine yöneliktir:

<xsd:element name="Options">
     <xsd:complexType>
          <xsd:sequence>
               <xsd:element ref="my:Option" minOccurs="0" maxOccurs="unbounded"/>
          </xsd:sequence>
     </xsd:complexType>
</xsd:element>
<xsd:element name="Option">
     <xsd:complexType>
          <xsd:simpleContent>
               <xsd:extension base="xsd:string">
                    <xsd:attribute ref="my:Value"/>
                    <xsd:attribute ref="my:Caption"/>
                    <xsd:attribute ref="my:Hint"/>
               </xsd:extension>
          </xsd:simpleContent>
     </xsd:complexType>
</xsd:element>

Seçenekleri öğesi aşağıdaki özniteliklere sahiptir:

  • Değer: Bu, dize türünün gerekli bir özniteliğidir. Value özniteliği aynı denetim içinde benzersiz olmalıdır. Yalnızca A ile Z arasında büyük/küçük harfe duyarlı olmayan karakterler kullanılabilir.

  • Resim Yazısı: Bu gerekli öznitelik, her seçeneğin görünen adıdır.

  • İpucu: Bu isteğe bağlı bir özniteliktir. Son kullanıcıya daha fazla bilgi ve ipucu sağlamak için bu özniteliği kullanın.

Ortam değişkenleri

Aşağıdaki ortam değişkenleri herhangi bir RCDC yapılandırmasında kullanılabilir:

Değişken Açıklama
<LoginID> Şu anda oturum açmış olan kullanıcının kimliğini görüntüler.
<LoginDomain> Şu anda oturum açmış olan kullanıcının etki alanını görüntüler.
<Today> Geçerli tarih ve saati görüntüler
<FromToday_nnn> Geçerli tarihi, artı nnn ve nnn tamsayı olduğu saati görüntüler.
<ObjectID> RCDC birincil kaynak kimliği.
<Attribute_xxx> RCDC birincil kaynağının belirtilen özniteliğini (xxx) döndürür.

XML yapılandırma dosyalarında hata ayıklama

RCDC için XML yapılandırma dosyaları geliştirirken veya değiştirirken, Microsoft Visual Studio gibi bir düzenleyici kullanarak XSD dosyalarında XML'yi doğrulayarak hataları azaltmaya yardımcı olabilirsiniz. Daha fazla bilgi için bkz. Visual Studio 2005'te XML Araçlarına Giriş.

Yardım dosyalarını özelleştirme

Yeni kaynaklar ve öznitelikler oluşturursanız, FIM Portalı'ndaki mevcut Yardım dosyalarını özelleştirilmiş kaynaklarınız için içerikle güncelleştirmek isteyebilirsiniz. FIM Portalı'ndaki yardım dosyaları .htm biçimdedir ve el ile düzenlenebilir. Özel öznitelikler oluşturma hakkında daha fazla bilgi için FIM 2010 belgelerindeki Özel Kaynak ve Öznitelik Yönetimine Giriş bölümüne bakın.

Önemli

Html biçimlendirme veya düzenlemeyle ilgili temel bilgiler bu makalede sağlanmaz. Kullanıcıların HTML dosyalarını düzenlemeyi bilmesi beklenir.

Yardım dosyalarının konumu

Microsoft Identity Manager 2016 SP1 Portalı'nın tüm Yardım dosyaları MIM hizmet sunucusundaki <ProgramFiles>\Common Files\Microsoft Shared\Web Server Extensions\12\Template\Layouts\MSILM2\Help\1033\html klasöründe bulunur.

Belirli bir Yardım dosyasını bulma

FIM Portalı için tüm Yardım dosyaları genel olarak benzersiz bir tanımlayıcı (GUID) ile adlandırılır. Özel kaynağınız için doğru dosyayı bulmak için:

  1. FIM Portalı'nda, özelleştirmek istediğiniz Portal sayfasında Yardım dosyasını açın.

  2. Yardım dosyasına sağ tıklayın ve özellikler seçin.

  3. <GUID\>.htm alanında dosyasını vurgulayın ve kopyalayın.

  4. Yardım dosyalarının depolandığı klasöre gidin ve dosyayı arayın.

Mevcut Gruplandırma öğesinde özniteliği için içerik ekleme

Var olan bir Gruplandırma öğesinde (sekme) yeni bir öznitelik için açıklayıcı içerik eklemek için:

  1. Uygun Yardım dosyasını belirleyin ve bulun.

  2. HTML düzenleyicisi kullanarak dosyayı açın.

  3. İçeriği eklemek istediğiniz yeri bulun. Bu genellikle ek bir paragraftadır, örneğin:

    <p xmlns="">A new paragraph with customized information.</p>

    Var olan bir listeye eklenmiş bir öğe de olabilir, örneğin:

    <li class="unordered"><b>First Name</b> – The first name of the User.<br>
    <li class="unordered"><b>Last Name</b> - The last name of the User.<br>
    <li class="unordered"><b>Added a new line</b><br>
    

Mevcut Gruplandırma öğesi için içerik ekleme

FIM Portalı sayfalarının büyük çoğunluğunda birden çok Gruplandırma öğesi (veya sekme) bulunur ve eşlik eden Yardım dosyalarında her Gruplandırma öğesiyle ilgili yer işaretli bölümler bulunur. HTML'deki yer işaretleri bölümlerde belirtilir. Örneğin, bu, FIM Portalı'ndaki Kullanıcı Oluştur sayfasının Yardım dosyasındaki İş Bilgileri sekmesinin HTML'idir:

<a name="bkmk_grouping_WorkInfo" xmlns=""></a><h3 class="subHeading" xmlns="">Work Info</h3><p class="subHeading" xmlns=""></p><div class="subSection" xmlns="">

Kullanıcı Oluşturma RCDC için Yapılandırması için Yapılandırma Verileri XML dosyasındaki WorkInfo Gruplandırma öğesi tarafından başvurulur. \<GUID\>.htm dosya adı ve yer işareti my:Link parametresinde belirtilir:

<my:Grouping my:Name="WorkInfo" my:Caption="%SYMBOL_WorkInfoTabCaption_END%" my:Enabled="true" my:Visible="true"> <my:Help my:HelpText="%SYMBOL_WorkInfoTabHelpText_END%" my:Link="5e18a08b-4b20-48b8-90c6-c20f6cbeeb44.htm#bkmk_grouping_WorkInfo"/>

Basit denetim örnekleri

Bu bölüm, farklı basit metin kutusu denetimleri oluşturmaya yönelik örnekler sağlar.

Aşağıdaki şekilde, farklı modlardaki bazı basit metin kutusu denetimleri gösterilmektedir:

Basit metin kutusu denetimleri

Aşağıdaki kod kesimi, tüm öznitelikler ve özellikler için açık metin kullanan ilk metin kutusu denetimini oluşturur:

<!-- Sample for a simple control to use explicit information. (with hints)-->
<my:Control my:Name="ExplicitControl" my:TypeName="UocTextBox" my:Caption="Explicit Control" my:Description="This is explicit description." my:Hint="This is a Hint (enter any text).">
     <my:Properties>
          <my:Property my:Name="Required" my:Value="True"/>
          <my:Property my:Name="RegularExpression" my:Value="[A-Z]*"/>
          <my:Property my:Name="Text" my:Value="Enter Information Here"/>
     </my:Properties>
</my:Control>
<!-- End of Sample for a simple control to use explicit information.-->

Aşağıdaki kod kesimi, denetimi farklı bir veri kaynağına bağlamak için dinamik bağlama tekniğini kullanan ikinci metin kutusu denetimini oluşturur:

<!-- Sample for a simple control to use stored data information.-->
<my:Control my:Name="DynamicControl" my:TypeName="UocTextBox" my:Caption="{Binding Source=schema, Path=DisplayName.DisplayName, Mode=OneWay}" my:Description="{Binding Source=schema, Path=DisplayName.Description, Mode=OneWay}" my:RightsLevel="{Binding Source=rights, Path=DisplayName, Mode=OneWay}">
     <my:Properties>
          <my:Property my:Name="Required" my:Value="{Binding Source=schema, Path=DisplayName.Required, Mode=OneWay}"/>
          <my:Property my:Name="RegularExpression" my:Value="{Binding Source=schema, Path=DisplayName.StringRegex, Mode=OneWay}"/>
          <my:Property my:Name="Text" my:Value="{Binding Source=object, Path=DisplayName, Mode=TwoWay}"/>
     </my:Properties>
</my:Control>
<!-- End of Sample for a simple control to use stored data information.-->

Aşağıdaki kod kesimi üçüncü genişletilmiş etiket ve metin kutusu denetimini oluşturur:

<!-- Sample for a simple expanded control with caption control.-->
<my:Control my:Name="SampleExpandLabel" my:TypeName="UocLabel" my:ExpandArea="true">
     <my:Properties>
          <my:Property my:Name="Text" my:Value="This is an expanded control."/>
     </my:Properties>
</my:Control>
<my:Control my:Name="ExpandedControl" my:TypeName="UocTextBox"
          my:ExpandArea="true">
     <my:Properties>
          <my:Property my:Name="Required" my:Value="false"/>
          <my:Property my:Name="Columns" my:Value="40"/>
          <my:Property my:Name="Text" my:Value="Expanded control (enter text)"/>
     </my:Properties>
</my:Control>
<!-- End of Sample for a simple expanded control.-->

Aşağıdaki kod kesimi, dördüncü devre dışı bırakılmış metin kutusu denetimini oluşturur. Bu denetim devre dışı durum ile etkin durum arasında görünür bir fark görüntülemese de, kullanıcı artık metin kutusuna veri giremez.

<!-- Sample for a simple disabled control.-->
<my:Control my:Name="DisabledControl" my:TypeName="UocTextBox" my:Caption="Disabled Control" my:Description="This is disabled simple control." my:Enabled="false">
     <my:Properties>
          <my:Property my:Name="Required" my:Value="false"/>
          <my:Property my:Name="MaxLength" my:Value="128"/>
          <my:Property my:Name="Text" my:Value="Disabled control"/>
     </my:Properties>
</my:Control>
<!-- End of Sample for a simple disabled control.-->

Tek tek denetimler

Bu bölümde, Microsoft Identity Manager 2016 SP1 ile sağlanan tek tek denetimler belgelenir.

UocButton

Adı: UocButton

Açıklama: Bu, belirli eylemleri tetiklerken kullanabileceğiniz basit bir düğme denetimidir. Ancak, kendi işleyicinizi belirtemediğinizden, bu denetimin kullanımı sınırlıdır.

Özellikler:

  • Tüm ortak özellikler: Bu özellikler hakkında bilgi için bkz. Ortak özellikler.

  • Metin: Bu özellik, düğmede görünen metni belirtir. Bu isteğe bağlı bir dize türü özniteliğidir. Metin, açık bir dize değeri alır.

olayları :

  • OnButtonClicked: Düğmeye tıklandığında olay yayılır.

Örnek:

UocButton denetimiUocButton controlUocButton control

Aşağıdaki XML kesimi basit bir UocButton denetim düğmesi oluşturur:

<!--Sample enabled simple button control-->
<my:Control my:Name="ButtonControl" my:TypeName="UocButton" my:Caption="SampleButton" my:Description="This is a simple button."
my:Hint="Click the button">
     <my:Properties>
          <my:Property my:Name="Required" my:Value="True"/>
          <my:Property my:Name="Text" my:Value="Click Me"/>
     </my:Properties>
</my:Control>
<!--End of sample enabled simple button control -->

UocCaptionControl

Adı: UocCaptionControl

Açıklama: Bu denetim, RCDC sayfasının resim yazısını görüntülemek için kullanılır. Bu denetim, üst bilgi gruplandırmada yalnızca tek bir denetim olarak kullanılacak şekilde tasarlanmıştır. Bunu başka bir bağlamda kullanmak işleme sorunlarına veya portal hatalarıyla karşılaşabilir.

Modu: Salt okunur (OneWay)

Özellikler:

  • Tüm ortak özellikler: Bu özellikler hakkında bilgi için bkz. Ortak özellikler.

  • MaxHeight: Bu özellik, resim yazısı bölümündeki simgenin en yüksek yüksekliğini belirtir. Bu özellik isteğe bağlıdır. Bu özellik piksel cinsinden bir tamsayı değeri alır. Varsayılan değer 32 pikseldir.

olayları :

  • Bu denetim için olay yok.

Örnek:

UocCaptionControl denetimiUocCaptionControl controlUocCaptionControl control

Aşağıdaki kod kesimi birÜst Bilgi Başlığı oluşturur:

<!--Sample header caption control-->
<my:Control my:Name="SampleHeaderCaption" my:TypeName="UocCaptionControl" my:ExpandArea="true" my:Caption="Header Caption" my:Description="Description Starts here.">
     <my:Properties>
          <my:Property my:Name="MaxHeight" my:Value="32"/>
          <my:Property my:Name="MaxWidth" my:Value="32"/>
     </my:Properties>
</my:Control>
<!--End of sample header caption control-->

Aşağıdaki kod kesimi Açık İçerik Başlığıoluşturur:

<my:Control my:Name="SampleContentCaption" my:TypeName="UocCaptionControl" my:ExpandArea="true" my:Caption="Sample Explicit Content Caption" my:Description="Explicit content caption with smaller icon">
     <my:Properties>
          <my:Property my:Name="MaxHeight" my:Value="20"/>
          <my:Property my:Name="MaxWidth" my:Value="20"/>
     </my:Properties>
</my:Control>
<!--End of sample caption-->

Aşağıdaki kod kesimi dinamik resim yazısı bir Görünen Ad oluşturur:

<!--Sample content dynamic caption-->
<my:Control my:Name="Caption3" my:TypeName="UocCaptionControl" my:Caption="{Binding Source=schema, Path=DisplayName.DisplayName, Mode=OneWay}" my:Description="{Binding Source=schema, Path=DisplayName.Description, Mode=OneWay}"/>
<!--End of sample caption -->

UocCheckBox

Adı: UocCheckBox

Açıklama: Bu basit bir onay kutusu denetimidir. Kullanıcının bu denetimi Boole türündeki verilerle bağlamasını öneririz. Bu denetim, bağlandığı verilere bağlı olarak salt okunur denetim veya güncelleştirilebilir denetim olarak kullanılabilir.

Uyarı

Bu sürümde, boole özniteliğini görüntülemek için düzenleme modunda onay kutusu denetimi kullanılırken, özniteliğin daha önce atanmış bir değeri yoksa, Düzenleme modunda Tamam tıklandığında Kaynak Denetimi özniteliğinefalse değeri ekler. Geçici çözüm, her zaman varolmayanların falseile aynı olduğunu varsayan bir Boole özniteliği oluşturmak veya Boole öznitelikleri için radyo düğmesi gibi diğer denetimleri kullanmaktır.

Özellikler:

  • Tüm ortak özellikler: Bu özellikler hakkında bilgi için bkz. Ortak özellikler.

  • DefaultValue: Bu isteğe bağlı, Boole türünde bir özelliktir. Varsayılan değer false olarak ayarlanır. Bu alan, onay kutusunun varsayılan davranışını belirtir. Bu açıkça belirtilebilir.

  • İşaretli: Bu isteğe bağlı, Boole türünde bir özelliktir. Varsayılan değer false olarak ayarlanır. Bu değer, DefaultValue ile birlikte mevcut olduğunda DefaultValue özelliğinin üzerine yazar. Bu alan, onay kutusunun davranışını belirtir. DefaultValue gibi bu da açıkça belirtilebilir veya sunucudaki verilerle ilişkilendirilebilir.

  • Metin: Bu isteğe bağlı, dize türünde bir özniteliktir. Metin, onay kutusunun sağ tarafında gösterilir. Son kullanıcıya daha fazla bilgi sağlayan metin belirtmek için bu özelliği kullanabilirsiniz.

olayları :

  • CheckedChanged: Onay kutusu durumunu değiştirdiğinde, bu olay yayılır.

Örnek:

Aşağıdaki örnekte, özel kaynak türü ile IsConfigurationType özniteliğiarasında bir özel bağlama oluşturulur. XML, özel bir kaynak türünün RCDC'sinde kullanılır.

UocCheckBox denetimiUocCheckBox controlUocCheckBox control

Aşağıdaki kod kesimi, önceki şekilde Dinamik Onay Kutusu olarak gösterildiği gibi bir dinamik onay kutusu oluşturur. Bu bağlama türü, açık bir onay kutusundan daha çok yönlü ve kullanışlıdır. Özniteliğin geçerli kaynak türüne ait olması gerekir.

<!--Sample dynamic check box-->
<my:Control my:Name="SampleDynamicCheckBox" my:TypeName="UocCheckBox" my:Caption="Dynamic Check Box" my:Description="This is a dynamic check box. It saves to data source." my:RightsLevel="{Binding Source=rights, Path=IsConfigurationType}">
     <my:Properties>
          <my:Property my:Name="Text" my:Value="{Binding Source=schema, Path=IsConfigurationType.DisplayName, Mode=OneWay}"/>
          <my:Property my:Name="Checked" my:Value="{Binding Source=object, Path=IsConfigurationType, Mode=TwoWay}"/>
     </my:Properties>
</my:Control>
<!--End of sample dynamic check box -->

UocCommonMultiValueControl

Adı: UocCommonMultiValueControl

Açıklama: Bu, özel dize biçimlendirmesini destekleyen çok satırlı bir metin kutusu denetimidir. Birden çok değerli girdiler arasındaki her değer birbirinden noktalı virgülle (;) veya metin kutusundaki satır sonuyla) ayrılır. Bu denetimi çok değerli, kısa dize ve tamsayı türlerinden oluşan verilerle bağlamanızı öneririz. Bu denetim hem salt okunur modu hem de güncelleştirilebilir modu destekler.

Özellikler:

  • Tüm ortak özellikler: Bu özellikler hakkında bilgi için bkz. Ortak özellikler.

  • DataType: Bu gerekli bir dize türü özniteliğidir. Bunu açıkça bir Dizesi, Tamsayıveya DateTime türü olarak belirtebilirsiniz. Ayrıca, şema özniteliğinin DataType özelliğiyle de öznitelik bağlayabilirsiniz. Birden Çok Değerli Başvuru türü, UOCListView veya UOCIdentityPickertarafından işlenmelidir. Birden çok değerli Boole, desteklenen bir veri türü değildir.

  • Satırlar: Bu isteğe bağlı, tamsayı türünde bir özniteliktir. Kutunun yüksekliğini karakter sayısı olarak tanımlayabilirsiniz. Varsayılan değer 1 olarak ayarlanır.

  • Sütunlar: Bu isteğe bağlı, tamsayı türünde bir özniteliktir. Kutunun karakter sayısı olarak kaç genişlikte olduğunu tanımlayabilirsiniz. Varsayılan değer 20 olarak ayarlanır.

  • Value: Bu isteğe bağlı bir dize türü özniteliğidir. Bu özniteliği yalnızca veri kaynağıyla bağlayabilirsiniz.

olayları :

  • ValueListChanged: Denetimdeki geçerli değer değiştiğinde bu olay tetikleniyor.

Örnek:

Aşağıdaki örnekte, AMultiValueString adlı çok değerli bir dize özniteliği oluşturulur ve özel kaynak türüne bağlıdır. Bu örnek yalnızca bu bağlama oluşturulduktan sonra çalışır.

UocCommonMultiValueControl denetimiUocCommonMultiValueControl controlUocCommonMultiValueControl control

Aşağıdaki kod kesimi bir UocCommonMultiValueControl denetimi oluşturur:

<!--Sample multivalue control-->
<my:Control my:Name="SampleDynamicMultiValueControl" my:TypeName="UocCommonMultiValueControl" my:Caption="{Binding Source=schema, Path=AMultiValueString.DisplayName, Mode=OneWay}" my:Description="{Binding Source=schema, Path=AMultiValueString.Description, Mode=OneWay}" my:RightsLevel="{Binding Source=rights, Path=AMultiValueString}">
     <my:Properties>
          <my:Property my:Name="Rows" my:Value="6"/>
          <my:Property my:Name="Columns" my:Value="60"/>
          <my:Property my:Name="DataType" my:Value="String"/>
          <!--not supported for above property my:Value={Binding Source=schema, Path=AMultiValueString.DataType, Mode=OneWay}"/>-->
          <my:Property my:Name="Value" my:Value="{Binding Source=object, Path=AMultiValueString, Mode=TwoWay}"/>
     </my:Properties>
</my:Control>
<!--End of sample multivalue control -->

UocDateTimeControl

Adı: UocDateTimeControl

Açıklama: Bu, metin kutusu denetimine benzer, ancak Açıklama yalnızca belirli bir biçimi kabul eder. Salt okunur modda, etiket gibi görünür. Desteklenen giriş dizesinin biçimi için bu bölümdeki DateTimeFormat özelliğine bakın.

Özellikler:

  • Tüm ortak özellikler: Bu özellikler hakkında bilgi için bkz. Ortak özellikler.

  • DateTimeFormat: Bu isteğe bağlı bir dize türü özniteliğidir. Desteklenen biçimler DateTime ve DateOnly . Varsayılan değer DateTime biçimine ayarlanır.

    • DateTime: Öznitelik, aa/gg/yyyy hh:mm:ss olarak biçimlendirilir.

    • DateOnly: Öznitelik aa/gg/yyyy olarak biçimlendirilir.

      Uyarı

      DateTime ve DateOnly biçimleri, farkı belirten kullanıcıdan bağımsız olarak desteklenir.

  • Value: Bu isteğe bağlı bir dize türü özniteliğidir. Bu özniteliği bir kaynak veri kaynağına bağlarsınız. Bu özniteliğin değerinin doğru tarih saat biçimine uygun olması gerekir.

olayları :

  • DateTimeChanged: Datetime değeri değiştiğinde, olay gerçekleşir.

Örnek:

UocDateTimeControl denetimiUocDateTimeControl controlUocDateTimeControl control

Aşağıdaki kod kesimi ilk DateTime denetimini oluşturur.

<!--Sample explicit DateTime control-->
<my:Control my:Name="SampleExplicitDateTimeControl" my:TypeName="UocDateTimeControl" my:Caption="Explicit Date Time Control" my:Description="The data shown here is explicit and in date time format.">
     <my:Properties>
          <my:Property my:Name="DateTimeFormat" my:Value="DateTime"/>
          <my:Property my:Name="Value" my:Value="11/11/2008 00:00:00"/>
     </my:Properties>
</my:Control>
<!--End of sample explicit DateTime control -->

Aşağıdaki kod kesimi ikinci DateTime denetimini oluşturur. Veri kaynakları bölümünde örnek kodu kullandıysanız, ExpirationTime özniteliği tüm kaynak türlerine bağlıdır. Bu nedenle, aşağıdaki kodla kullanabilirsiniz:

<!--Sample dynamic DateTime control-->
<my:Control my:Name="SampleDynamicDateTimeControl" my:TypeName="UocDateTimeControl" my:Caption="{Binding Source=schema, Path=ExpirationTime.DisplayName, Mode=OneWay}" my:Description="{Binding Source=schema, Path=ExpirationTime.Description, Mode=OneWay}" my:RightsLevel="{Binding Source=rights, Path=ExpirationTime}">
     <my:Properties>
          <my:Property my:Name="DateTimeFormat" my:Value="DateOnly"/>
          <my:Property my:Name="Value" my:Value="{Binding Source=object, Path=ExpirationTime, Mode=TwoWay}"/>
     </my:Properties>
</my:Control>
<!--End of dynamic explicit DateTime control -->

UocDropDownList

Adı: UocDropDownList

Açıklama: Bu basit bir açılan kutu denetimidir. Bu denetim, tanımlı bir seçenek kümesinden seçenekleri seçmek için kullanılır. Dize, tamsayı, tarih saat ve Boole veri türleri bu denetim için iyi adaylardır.

Özellikler:

  • Tüm ortak özellikler: Bu özellikler hakkında bilgi için bkz. Ortak özellikler.

  • ValuePath: ItemSource'tan Value özniteliğini almak için özellik. ItemSource Özel olarak belirtildiğinde, değer yolu Değer olarak ayarlanır. Bu bölümde açıklandığı gibi Option öğesinden Value alanıyla bağlanır.

  • CaptionPath: ItemSource'tan Value özniteliğini alma özelliği. ItemSource Özel olarak belirtildiğinde, değer yolu Resim Yazısı olarak ayarlanır. Bu bölümde açıklandığı gibi Option öğesinden Caption alanıyla bağlanır.

  • HintPath: ItemSource'tan Value özniteliğini almak için özellik. ItemSource Özel olarak belirtildiğinde, değer yolu İpucu olarak ayarlanır. Bu bölümde açıklandığı gibi Option öğesinden İpucu alanıyla bağlanır.

  • ItemSource: Listedeki seçimleri tanımlayan ListControlItems koleksiyonu. Kullanıcı bunu açıkça Özel olarak ayarlayabilir ve bu bölümde açıklandığı gibi Option öğesini kullanarak dize değerini belirtebilir.

  • SelectedValue: Şu anda seçili olan değer. Bu gerekli bir dize türü özelliğidir. Bu özellik, veri kaynağındaki dize verileriyle ilişkilidir.

olayları :

  • SelectedIndexChanged: Olay, açılan kutudaki seçim değiştiğinde gerçekleşir.

Seçenekler:

Seçenekleri öğesinin yapısı için bkz. Seçenekler öğesi.

  • Değer: Tek bir Options öğesinin Değeri, denetimin bağlanacağı veri kaynağının geçerli girişi olan herhangi bir dizeye ayarlanabilir.

  • Caption: Caption herhangi bir dize değeri olabilir.

  • İpucu: İpucu herhangi bir dize değeri olabilir.

Örnek:

UocDropDownList denetimiUocDropDownList controlUocDropDownList control

UocDropDownList denetiminde Seçenekleri

Uyarı

Örneğin çalışmasını sağlamak için, RCDC'nin uygulandığı özel kaynak türüyle Scope var olan bir dize türü özniteliği bağlamanız gerekir.

Aşağıdaki kod kesimi bir açılan liste oluşturur:

<!--Sample for drop-down list control-->
<my:Control my:Name="Scope" my:TypeName="UocDropDownList" my:Caption="{Binding Source=schema, Path=Scope.DisplayName}" my:RightsLevel="{Binding Source=rights, Path=Scope}">
     <my:Options>
          <my:Option my:Value="DomainLocal" my:Caption="Domain Local" my:Hint="to secure a local resource (i.e. a file share on your computer)" />
          <my:Option my:Value="Global" my:Caption="Global" my:Hint="to secure resources across your team or division" />
          <my:Option my:Value="Universal" my:Caption="Universal" my:Hint="to use this group across your organization" />
     </my:Options>
     <my:Properties>
          <my:Property my:Name="Required" my:Value="{Binding Source=schema, Path=Scope.Required" />
          <my:Property my:Name="ValuePath" my:Value="Value" />
          <my:Property my:Name="CaptionPath" my:Value="Caption" />
          <my:Property my:Name="HintPath" my:Value="Hint" />
          <my:Property my:Name="ItemSource" my:Value="Custom" />
          <my:Property my:Name="SelectedValue" my:Value="{Binding Source=object, Path=Scope, Mode=TwoWay}" />
     </my:Properties>
</my:Control>
<!--End of Sample for drop-down list control-->

UocFileİndir

Adı: UocFileDownload

Açıklama: Bu denetim bir köprü içerir. Köprüye tıklandığında, bir Windows Dosyayı Kaydet sayfası görüntülenir. Kullanıcı dosyayı yerel sürücüsüne kaydedebilir. Internet Explorer dosya biçimini işleyebilirse Aç seçeneği de desteklenir. Bu denetimi kullanmak için önerilen veri türleri biçimlendirilmiş dize (XML) ve ikili türlerdir.

Uyarı

Microsoft Identity Manager 2016 SP1'in bu sürümünde, kullanıcının dosyayı açtığı Internet Explorer penceresini kapatması ve ardından sayfayı yenilemesi gerekir. Internet Explorer penceresini yeniledikten sonra, kullanıcı özgün pencerede aynı dosyayı kaydetmek veya yeniden açmak için indirme işlemini başlatabilir.

Özellikler:

  • Tüm ortak özellikler: Bu özellikler hakkında bilgi için bkz. Ortak özellikler.

  • Metin: Bu, köprü metnini tanımlayan isteğe bağlı bir dize türü özniteliğidir. Kullanıcı bu özellik için açık bir dize belirtebilir.

  • Değer: Bu gerekli bir özniteliktir. İçeriği indirilecek olan sunucuda öznitelik bağlamasını belirtir.

  • PromptedFileName: Bu isteğe bağlı bir dize türü özniteliğidir. Bu, indirilen dosyayı kaydederken kullanıcıya önerilen dosya adıdır.

  • ContentType: Bu gerekli bir dize türü özniteliğidir. Bu, verilerin kaydedildiği dosya türüdür. Metin veya ikili, desteklenen iki dize seçeneğidir. Metinse, dönüş değeri uzun dize olarak kabul edilir. Aksi takdirde, ikili için dönüş değeri bayt[] olarak kabul edilir. Metin seçiliyse, kullanıcı bir seçenek olarak metnin biçimini belirtmek için bir sonek ekleyebilir. Örneğin, metin/xml geçerli.

Uyarı

Bu denetime bağlı değer boş olduğunda, denetimde indirme eylemini tetiklemede kullanılacak köprü eksik olur. Bunun nedeni indirecek bir şey olmamasıdır.

olayları :

  • Bu denetim için olay yok.

Örnek:

UocFileİndir denetimi

Uyarı

Bu örnek dosyayı karşıya yüklemeden önce, kullanıcının özel bir kaynak türü ile mevcut ConfigurationData özniteliği arasında bir bağlama oluşturması gerekir.

Aşağıdaki kod kesimi bir dosya indirme denetimi oluşturur:

<!--Sample dynamic download control-->
<my:Control my:Name="SampleDynamicFileDownloadControl" my:TypeName="UocFileDownload" my:Caption="{Binding Source=schema, Path=ConfigurationData.DisplayName, Mode=OneWay}" my:Description="{Binding Source=schema, Path=ConfigurationData.Description, Mode=OneWay}" my:RightsLevel="{Binding Source=rights, Path=ConfigurationData}">
     <my:Properties>
          <my:Property my:Name="Text" my:Value="Download Dummy xml"/>
          <my:Property my:Name="PromptedFileName" my:Value="DummyXML.xml"/>
          <my:Property my:Name="ContentType" my:Value="text/xml"/>
          <my:Property my:Name="Value" my:Value="{Binding Source=object, Path=ConfigurationData}"/>
     </my:Properties>
</my:Control>
<!--End of dynamic download control -->

UocFileUpload

Adı: UocFileUpload

Açıklama: Bu denetim karşıya yüklenecek yerel dosyanın konumunu, dosyaya gözat düğmesini ve karşıya yükleme düğmesini görüntüleyen bir metin kutusu içerir. Son kullanıcı Gözat düğmesine tıkladığında, bir Windows Dosya Aç penceresi görüntülenir. Son kullanıcı karşıya yüklemek için yerel sürücüsünde bir dosya seçebilir. Dosya seçildiğinde, dosyanın konumu metin kutusunda gösterilir. Karşıya Yükle düğmesine tıklandığında, dosya istemci tarafı yerel veri kaynağına yüklenir. Dosya içeriği henüz sunucuya gönderilmedi. Bu denetimi kullanmak için önerilen veri türleri şunlardır: biçimlendirilmiş dize (XML) veya ikili türler.

Uyarı

Karşıya yükleme işleminin ilerleme durumuyla ilgili bir gösterge yoktur. Dosya yerel veri kaynağına yüklendiğinde metin kutusu temizlenir.

Özellikler:

  • Tüm ortak özellikler: Bu özellikler hakkında bilgi için bkz. Ortak özellikler.

  • Değer: Bu gerekli bir özniteliktir. Verilerin karşıya yüklendiği sunucuda şema özniteliği bağlamasını belirtir.

  • ContentType: Bu isteğe bağlı bir dize türü özniteliğidir. Bu, dosyanın sunucuya kaydedildiği veri türüdür. Bu, Metin veya İkili olarak ayarlanabilir. Özellik eksik olduğunda, varsayılan değer İkili'dir.

  • MaxFileSize: Bu isteğe bağlı bir dize türü özniteliğidir. MaxFileSize, karşıya yüklenen dosya boyutunun ne kadar büyük olabileceğini tanımlar. Varsayılan olarak, özellik eksikse en büyük boyut 1 megabayttır (MB).

  • PromptedForNoValue: Bu isteğe bağlı bir dize türü özniteliğidir. Dosya karşıya yüklenmediğinde kullanıcıya gösterilen metni tanımlar.

olayları :

  • FileUploaded: Dosya başarıyla karşıya yüklendiğinde bu olay yayılır.

Örnek:

UocFileUpload denetiminiUocFileUpload controlUocFileUpload control

Uyarı

Aşağıdaki örnek kodun çalışmasını sağlamak için ABinaryAttribute adlı yeni bir ikili tür özniteliği oluşturmanız ve ardından özel bir kaynak türü ile bu öznitelik arasında yeni bir bağlama oluşturmanız gerekir.

Aşağıdaki kod kesimi bir karşıya yükleme denetimi oluşturur:

<!--Sample dynamic upload control-->
<my:Control my:Name="SampleDynamicFileUploadControl" my:TypeName="UocFileUpload" my:Caption="{Binding Source=schema, Path=ABinaryAttribute.DisplayName, Mode=OneWay}" my:Description="{Binding Source=schema, Path=ABinaryAttribute.Description, Mode=OneWay}” my:RightsLevel="{Binding Source=rights, Path=ABinaryAttribute}">
     <my:Properties>
          <my:Property my:Name="Required" my:Value="{Binding Source=schema, Path=ABinaryAttribute.Required}"/>
          <my:Property my:Name="ContentType" my:Value="Binary"/>
          <my:Property my:Name="Value" my:Value="{Binding Source=object, Path=ABinaryAttribute, Mode=TwoWay}"/>
     </my:Properties>
</my:Control>
<!--End of dynamic upload control -->

UocFilterBuilder

Adı: UocFilterBuilder

Açıklama: Bu, kullanıcının MIM 2016 XPath ifadesini işlemesini sağlayan karmaşık bir denetimdir. Bazı XPath ifadeleri desteklenmez. Filtre oluşturucusu'nu kullanma hakkında bilgi için filtre oluşturucu yardımı'na bakın.

Özellikler:

  • Tüm ortak özellikler: Bu özellikler hakkında bilgi için bkz. Ortak özellikler.

  • PermittedObjectTypes: Bu, filtre oluşturucusunun select deyiminde gösterilecek kaynak türlerinin listesini tanımlar. Filtre oluşturucusu'nu kullanma hakkında bilgi için filtre oluşturucu Yardımı'na bakın. Dize ResourceTypeA, ResourceTypeB biçimindedir ve burada her kaynak türü ',' virgülle ayrılır.

  • Değer: Bu, filtre oluşturucunun işlendiği değerdir. Yalnızca XPath ifadesi içeren dize türündeki verilere sahip bir bağlama desteklenir. Filter özniteliği, bu denetimi bağlamak için önerilen bir özniteliktir.

  • PreviewButtonVisible: Bu isteğe bağlı, Boole türünde bir özelliktir. Bu özellik false olarak ayarlandığında, kullanıcı Önizleme düğmesini görmez. Varsayılan değer true olarak ayarlanır. Bu düğme, XPath ifadesinin sonuçlarını önizlemek için liste görünümü denetimiyle birlikte kullanılabilir.

  • ExcludeGroupMembership: Bu bir Boole özelliğidir. Bu özellik true olarak ayarlandığında, <Başvuru Özniteliği> (örneğin ResourceID)<>Group nesnesinin üyesi olan bir filtre oluşturamazsınız. Başka bir deyişle, bu özellik true olarak ayarlandığında, grup üyeliği dizinini kullanan bir filtre oluşturamazsınız.

  • PreviewButtonCaption: Bu isteğe bağlı bir dizedir. PreviewButtonVisible true olarak ayarlandığında, düğmeye özelleştirilmiş bir metin vermek için bu özelliği kullanabilirsiniz. Metin Önizleme düğmesinde görünür.

olayları :

  • OnFilterChanged: Filtre oluşturucu içeriği değiştiğinde bu olay tetikleniyor.

Örnek:

UocFilterBuilder denetimiUocFilterBuilder controlUocFilterBuilder control

Aşağıdaki örnek kod bir UOCLabel denetimi, PermittedObjectTypes içeren basit bir filtre oluşturucu ve Önizleme listesi görünümünü içerir. Liste görünümü ListFilter özelliğini ve filtre oluşturucusu Value özelliğini, ikisini bağlamak için aynı veri kaynağı özniteliğine işaret edin.

Uyarı

Bu örnek kodu kullanmadan önce, var olan bir Filter özniteliğiyle özel kaynak türü arasında yeni bir bağlama oluşturun.

<!--Sample filter builder with preview list-->
<my:Control my:Name="ComplexFilterBuilderLabel" my:TypeName="UocLabel" my:ExpandArea="true">
     <my:Properties>
          <my:Property my:Name="Text" my:Value="This is a Filter Builder with preview."/>
     </my:Properties>
</my:Control>
<my:Control my:Name="ComplexFilterBuilder" my:TypeName="UocFilterBuilder" my:RightsLevel="{Binding Source=rights, Path=Filter}" my:ExpandArea="true">
     <my:Properties>
          <my:Property my:Name="PermittedObjectTypes" my:Value="Person,Group" />
          <my:Property my:Name="Value" my:Value="{Binding Source=object, Path=Filter, Mode=TwoWay}" />
          <my:Property my:Name="Required" my:Value="{Binding Source=schema, Path=Filter.Required, Mode=OneWay}" />
     </my:Properties>
</my:Control>
<my:Control my:Name="FilterBuilderwithpreview" my:TypeName="UocListView" my:ExpandArea="true">
     <my:Properties>
          <my:Property my:Name="ColumnsToDisplay" my:Value="DisplayName,ObjectType,AccountName" />
          <my:Property my:Name="EmptyResultText" my:Value="There is no members according to the filter definition." />
       <my:Property my:Name="PageSize" my:Value="10" />
       <my:Property my:Name="ShowTitleBar" my:Value="false" />
       <my:Property my:Name="ShowActionBar" my:Value="false" />
       <my:Property my:Name="ShowPreview" my:Value="false" />
       <my:Property my:Name="ShowSearchControl" my:Value="false" />
       <my:Property my:Name="EnableSelection" my:Value="false" />
       <my:Property my:Name="SingleSelection" my:Value="false" />
       <my:Property my:Name="ItemClickBehavior" my:Value=" ModelessDialog "/>
       <my:Property my:Name="ListFilter" my:Value="{Binding Source=object, Path=Filter}" />
     </my:Properties>
</my:Control>
<!--end of sample filter builder with preview-->

UocHtmlSummary

Adı: UocHtmlSummary

Açıklama: RcDC sayfasında özet sayfası tanımlamak için bu denetimi kullanabilirsiniz. Bu özet sayfası, son kullanıcı bir istek gönderdikten sonra görüntülenir. Bu denetim yalnızca Özet Gruplandırma'da kullanılabilir ve tek denetim olmalıdır. Sağlanan örnek kodu kullanmanızı kesinlikle öneririz.

Uyarı

Bu denetim kapsamlı olarak test edilmedi.

Özellikler:

  • Tüm ortak özellikler: Bu özellikler hakkında bilgi için bkz. Ortak özellikler.

  • ModificationsXml: Bu özellik {Binding Source=delta, Path=DeltaXml} olarak biçimlendirilmelidir; burada delta, ObjectDataSource yapılandırma üst bilgisinde tanımlanır.

  • TransformXsl: Bu özellik {Binding Source=summaryTransformXsl, Path=/}olarak biçimlendirilir; burada summaryTransformXsl, XmlDataSource yapılandırma üst bilgisinde tanımlanır.

olayları :

  • Bu denetim için olay yok.

Örnek:

Bu denetimin bir örneği için, bu belgenin Gruplandırma öğesi bölümündeki Özet Gruplandırma örneğine bakın.

Adı: UocHyperLink

Açıklama: Bu basit bir köprü denetimidir. Bilgileri köprü olarak görüntülemek için bu denetimi kullanabilirsiniz.

Özellikler:

  • Tüm ortak özellikler: Bu özellikler hakkında bilgi için bkz. Ortak özellikler.

  • ObjectReference: Bu isteğe bağlı, başvuru türündeki bir özelliktir. Bu özellikte tanımlanan GUID tarafından geçerli bir kaynağa başvuruldıysa, köprü son kullanıcıya kaynağa erişmek için bir yol sağlar. Bu, NavigateUrl özelliğiyle birbirini dışlar.

  • Metin: Bu isteğe bağlı, dize türünde bir özelliktir. Köprü olarak görünen metni tanımlamak için bu özelliği kullanırsınız.

  • NavigateUrl: Bu isteğe bağlı, dize türünde bir özelliktir. Köprü bağlantısı olan tam yol URL'sini tanımlamak için bu özelliği kullanırsınız. Bu, ObjectReference özelliğiyle birbirini dışlar.

olayları :

  • Bu denetim için olay yok.

Örnek:

UocHyperLink denetimiUocHyperLink controlUocHyperLink control

Uyarı

Bunu bağlamak için kaynağın geçerli bir GUID'sine ihtiyacınız var. Bu durumda, ikinci köprü geçerli bir GUID ile oluşturulur. İlki herhangi bir Web sitesi olabilir.

Aşağıdaki kod kesimi bir yeniden yönlendirme köprüsü oluşturur:

<!--Sample for a hyperlink that redirects page.-->
<my:Control my:Name="RedirectHyperlink" my:TypeName="UocHyperLink" my:Caption="Redirect Hyperlink" my:Description="This is a hyperlink that takes you to other pages.">
     <my:Properties>
          <my:Property my:Name="NavigateUrl" my:Value="http://www.microsoft.com"/>
          <my:Property my:Name="Text" my:Value="Microsoft Home Page"/>
     </my:Properties>
</my:Control>
<!--End of Sample for a hyperlink that redirect page-->

Aşağıdaki kod kesimi bir kaynağa başvuran bir köprü oluşturur. Açık başvuru, bunu bir veri kaynağına bağlamak için {Binding Source=object, Path=Creator} ifadesiyle değiştirilebilir. Bu, yalnızca kaynağın yöneticisi mevcut olduğunda ve başvuru türünde bir değer olduğunda geçerli olabilir.

<!--Sample for a hyperlink that reference object-->
<my:Control my:Name="ReferenceHyperlink" my:TypeName="UocHyperLink" my:Caption="Reference Hyperlink" my:Description="This is a hyperlink gives you an object view of the reference object">
     <my:Properties>
          <my:Property my:Name="ObjectReference" my:Value="e4e048b1-9e43-415e-806c-cf44c429c34c"/>
          <my:Property my:Name="Text" my:Value="View a group in FIM 2010."/>
     </my:Properties>
</my:Control>
<!--End of Sample for a hyperlink that reference object-->

UocIdentityPicker

Adı: UocIdentityPicker

Açıklama: Bu denetim isteğe bağlı çözümle kutusundan ve Gözat penceresinden oluşur. İsteğe bağlı Çözümle kutusu, kimliği girmek için isteğe bağlı bir metin kutusu, kimliği çözümlemek için Çözümle düğmesi ve bir açılır Gözat penceresi istemeye yönelik gözat düğmesinden oluşur. Gözat penceresi, kullanıcının bir liste görünümü denetimi aracılığıyla kimlik seçmesini mümkün kılar. Gözat penceresinden seçilen kimlik Çözümle kutusuna yansıtılır.

Özellikler:

  • Tüm ortak özellikler: Bu özellikler hakkında bilgi için bkz. Ortak özellikler.

  • UsageKeywords: Bu isteğe bağlı bir dize özelliğidir. Her anahtar sözcüğün bir kesme işareti (') ile ayrıldığı SearchScopeConfiguration yapısı tarafından desteklenen kullanım anahtar sözcüklerinin listesini sağlayarak Kaynak Seçici'de kullanılacak arama kapsamlarının listesini tanımlayabilirsiniz.

  • Filtre: Bu isteğe bağlı bir dize özelliğidir. Kullanıcı, kaynak seçicinin kapsamını yalnızca tanımlı bir kapsama uyan öğeleri görüntülemek için bir XPath ifadesi sağlar. Bu özellik UsageKeywords özelliğiyle birbirini dışlar. Arama kapsamı uygulandığında, bu özelliğin hiçbir etkisi olmaz.

  • ResultObjectType: Bu isteğe bağlı bir dize özelliğidir. Kaynak türü, açılır iletişim kutusu listesindeki kaynakları işlemek için kullanılır. Bu, Kimlik Seçici'nin Filtre tarafından döndürülen kaynak türünü belirlemesine ve verileri uygun şekilde işlemesine yardımcı olmak için Filtre ile birlikte kullanılır. Bu özellik UsageKeywords özelliğiyle birbirini dışlar. Arama kapsamı uygulandığında, bunun hiçbir etkisi olmaz. Bu özellik için kabul edilen dize herhangi bir tek, geçerli, kaynak türündeki addır( örneğin, Kişi). Filtrenin birden çok kaynak türü döndürmesi beklendiğinde Kaynak kullanılır.

  • PreviewTitle: Bu, liste görünümünde kullanılan önizleme başlığıdır. Bu özellik hakkında bilgi için UocListView bölümüne bakın.

  • ListViewTitle: Bu isteğe bağlı bir dize özelliğidir. Liste görünümünün en üstünde gösterilen metni başlık olarak tanımlamak için bu özelliği kullanabilirsiniz.

  • Value: Bu isteğe bağlı bir dize özelliğidir. Değeri bir veri kaynağına bağlamak için bunu bir şema özniteliğiyle bağlamanız önerilir.

  • Modu: Bu isteğe bağlı bir dize özelliğidir. Kimlik Seçici tarafından bir değerin seçilip seçilemeyeceğini veya birden çok kimlik seçilip seçilemeyeceğini tanımlamak için bu özelliği kullanırsınız. SingleResult ve MultipleResult izin verilen değerlerdir. Varsayılan olarak, SingleResult olarak ayarlanır.

  • ObjectTypes: Bu isteğe bağlı bir dize türü özelliğidir. Kimlik Seçici Çözümle kutusunda son kullanıcının girişleri çözümleyebileceği kaynak türlerinin listesini tanımlayabilirsiniz. Liste, ',' virgülle ayrılmış kaynak türü adları listesinden oluşur.

  • AttributesToSearch: Bu isteğe bağlı, dize türünde bir özelliktir. Kimlik Seçici'deki öğeyi çözümlemek için kullanılacak özniteliklerin listesini tanımlayabilirsiniz; burada liste, ',' virgülle ayrılmış şema özniteliklerinin listesidir. Örneğin, AttributesToSearch DisplayName, Aliasolarak ayarlanırsa, kullanıcı DisplayName = \<search value\> veya Alias=\<search value\>ile öğeleri arayabilir. Buraya girilen öznitelik adları, Value özelliğinde belirtilen veri kaynağının hedef kaynak türlerinde geçerli öznitelikler olmalıdır. Hedef kaynak türleri ObjectTypes alanında bulunabilir. Tüm öznitelikler, ObjectTypes alanında belirtilen herhangi bir kaynak türünde geçerli olmalıdır.

  • ColumnsToDisplay: Bu isteğe bağlı, dize türünde bir özelliktir. Kullanıcı, ',' virgülle ayrılmış şema öznitelik adlarının listesini sağlar. Burada tanımlanan öznitelikler, Kimlik Seçici'deki liste görünümünün sütununu oluşturur.

  • Satırlar: Bu isteğe bağlı bir tamsayı özelliğidir. Yalnızca Mod MultipleResult olarak ayarlandığında çalışır. Çözümle metin kutusunun yüksekliğini karakter birimlerinde belirli bir boyuta ayarlamak için bu özelliği kullanın.

  • MainSearchScreenText: Bu isteğe bağlı, dize türünde bir özelliktir. Bu, Gözat penceresinde arama çalışırken görüntülenen özelleştirilmiş metindir.

olayları :

  • SelectedObjectChanged: Kullanıcı seçilen kaynakları değiştirdiğinde bu olay yayılır.

Örnek:

SingleResult modunda UocIdentityPicker denetimini

Uyarı

Bu örneğin çalışması için, Manager özniteliğiyle bu XML'nin uygulandığı herhangi bir özel kaynak türü arasında yeni bir bağlama oluşturmanız gerekir.

Aşağıdaki kod kesimi, RCDC'nin bir parçası olarak Filter ve ResultObjectType özelliklerini kullanarak SingleResult modunda bir Kimlik Seçici oluşturur:

<!--Sample for a single-selection identity picker using Filter and Result Object Type-->
<my:Control my:Name="SingleSelectionIdentityPicker" my:TypeName="UocIdentityPicker" my:Caption="A Single Selection Identity Picker" my:Description="The user is allowed to select only one entry here." my:RightsLevel="{Binding Source=rights, Path=Manager}">
     <my:Properties>
          <my:Property my:Name="Required" my:Value="{Binding Source=schema, Path=Manager.Required}"/>
          <my:Property my:Name="Mode" my:Value="SingleResult" />
          <!--Columns displayed in list view in pop-up window-->
          <my:Property my:Name="ColumnsToDisplay" my:Value="DisplayName, ObjectType" />
          <!--Identities will be resolved against following attribute in the resolve textbox when resolve button is clicked.-->
          <my:Property my:Name="AttributesToSearch" my:Value="DisplayName, AccountName" />
          <!--single valued reference type attribute is used to bind the control-->
          <my:Property my:Name="Value" my:Value="{Binding Source=object, Path=Manager , Mode=TwoWay}" />
          <!--Scoping the list explicitly to All Persons name contains letter "e"-->
          <my:Property my:Name="Filter" my:Value="/Person[contains(JobTitle, 'Manager')]"/>
          <!--Result object type specify the type is Person-->
          <my:Property my:Name="ResultObjectType" my:Value="Person"/>
          <my:Property my:Name="ListViewTitle" my:Value="Select only one entry" />
          <my:Property my:Name="PreviewTitle" my:Value="Entry selected:" />
     </my:Properties>
</my:Control>
<!--End of sample for a single-selection identity picker.-->

Aşağıdaki şekilde, MultipleResult modunda bir Kimlik Seçici gösterilmektedir:

MultipleResult modunda UocIdentityPicker denetimini

Uyarı

Bu örnek kodun çalışmasını sağlamak için, ExplicitMember özniteliğini (çok değerli başvuru özniteliği) özel kaynak türüne bağlamanız gerekir. UsageKeyword özelliği Kişi ve Grup olarak ayarlanmış arama kapsamları oluşturun.

Aşağıdaki kod kesimi MultipleResult modunda bir Kimlik Seçici oluşturur:

<!--Sample for a multiselection Identity Picker uses Search Scope-->
<my:Control my:Name="multiSelectionIdentityPicker" my:TypeName="UocIdentityPicker" my:Caption="A multi Selection Identity Picker" my:Description="The user is allowed to select more than one entry here" my:RightsLevel="{Binding Source=rights, Path=ExplicitMember}">
     <my:Properties>
          <my:Property my:Name="Required" my:Value="{Binding Source=schema, Path=ExplicitMember.Required}"/>
          <my:Property my:Name="Mode" my:Value="MultipleResult" />
          <my:Property my:Name="Rows" my:Value="10" />
          <!--There are existing search scopes that has key word "Person" and "Group" use both sets of search scopes here.-->
          <my:Property my:Name="UsageKeywords" my:Value="Person,Group"/>
          <!--Columns displayed in list view in pop-up window-->
          <my:Property my:Name="ColumnsToDisplay" my:Value="DisplayName, ObjectType" />
          <!--Identities will be resolved against following attribute in the resolve textbox when resolve button is clicked.-->
          <my:Property my:Name="AttributesToSearch" my:Value="DisplayName, AccountName" />
          <!--multi valued reference type attribute is used to bind the control-->
          <my:Property my:Name="Value" my:Value="{Binding Source=object, Path=ExplicitMember , Mode=TwoWay}" />
          <my:Property my:Name="ResultObjectType" my:Value="Resource"/>
          <my:Property my:Name="ListViewTitle" my:Value="Select multiple entries" />
          <my:Property my:Name="PreviewTitle" my:Value="Entries selected" />
     </my:Properties>
</my:Control>
<!--End of sample for a multiselection Identity Picker.-->

UocLabel

Adı: UocLabel

Açıklama: Bu basit, salt okunur bir metin etiketi denetimidir. Bu denetimin salt okunur verileri görüntülemek için kullanılmasını öneririz.

Özellikler:

  • Tüm ortak özellikler: Bu özellikler hakkında bilgi için bkz. Ortak özellikler.

  • Metin: Bu bir dize türü özniteliğidir. Bu özelliği açık bir dize değeri sağlayarak veya bir veri kaynağıyla bağlayarak tanımlarsınız. Bu özelliğin değerini atayan örnek bağlama :{Binding Source=object, Path=<geçerli öznitelik adı>.

UocLabel denetimi örneği için Basit denetim örnekleri bölümündeki basit denetim bölümüne bakın.

UocListView

Adı: UocListView

Açıklama: Bu gelişmiş bir liste görünümü denetimidir. Basit bir liste görünümü, isteğe bağlı basit arama, isteğe bağlı gelişmiş arama denetimi, isteğe bağlı seçim önizleme kutusu ve eylem düğmesi çubuğundan oluşur. İsteğe bağlı basit arama, bir arama kapsamından ve basit bir arama metin kutusundan oluşur. Gelişmiş arama denetimi bir filtre oluşturucudur. Liste görünümü, önceden oluşturulmuş kaynakların listesini gösterir. Ayrıca bu denetimdeki arama denetimlerinden gelen arama sonuçlarını da gösterebilir. Eylem Düğmesi çubuğu, liste görünümündeki seçime göre hangi eylemin gerçekleştirilebileceğini tanımlar. Seçim Önizlemesi kutusu, liste görünümünde hangi öğelerin seçildiğini gösterir.

Önemli

UocListView tek değerli başvuru öznitelikleriyle çalışmaz. Yalnızca birden çok değerli başvuru öznitelikleriyle kullanılabilir. Tek değerli başvuru öznitelikleri için bu belgedeki UocIdentityPicker bölümüne bakın.

Özellikler:

  • Tüm ortak özellikler: Bu özellikler hakkında bilgi için bkz. Ortak özellikler.

  • SelectedValue: Bu, GUID biçimli dizelerin listesini kabul eden çok değerli bir başvuru özniteliğine bağlı isteğe bağlı, dize türünde bir özelliktir.

  • PageSize: Bu isteğe bağlı bir tamsayı özelliğidir. Kullanıcı, liste görünümü denetiminde bir sayfaya kaç girdinin sığacağını belirtebilir. Varsayılan değer 10 giriştir. Herhangi bir pozitif tamsayı geçerlidir.

  • UsageKeyword: Bu isteğe bağlı bir dize türü özelliğidir. Kullanıcı, liste görünümü arama denetiminde hangi arama kapsamının kullanıldığını tanımlayan anahtar sözcüklerin listesini belirtebilir. FIM 2010 sunucusunda arama kapsamı kaynakları vardır. SearchScopeConfiguration yapısındaki UsageKeyword adlı özniteliği, bir dizi arama kapsamını gruplandırmak için kullanılır. Liste görünümü bu anahtar sözcük listesini tüketir. Her anahtar sözcük virgülle (,) ayrılır. Bu, bu liste görünümünde göstermek istediğiniz ilgili arama kapsamında kullanılan kullanım anahtar sözcüğüdür. Bu yalnızca ShowSearchControl özelliği true olarak ayarlandığında geçerlidir.

  • SearchControlAutoPostback: Bu isteğe bağlı bir Boole özelliğidir. Arama tetiklendiğinde otomatik geri gönderme gerçekleştirmek için bu özelliğin değerini true olarak ayarlayın. Varsayılan olarak SearchControlAutoPostback false olarak ayarlanır.

  • EmptyResultText: Bu isteğe bağlı, dize türünde bir özelliktir. Varsayılan olarak Öğe yok olarak ayarlanır, ancak herhangi bir dize değerine ayarlanabilir. Arama sonucu boş olduğunda bu metin görüntülenir.

  • ButtonHeight: Bu isteğe bağlı, tamsayı türünde bir özelliktir. Bu özelliğin değerini herhangi bir pozitif tamsayı değerine ayarlayın. Bu özellik, eylem çubuğundaki düğmelerin yüksekliğini piksel cinsinden tanımlar. Varsayılan değer 32 pikseldir.

  • ButtonWidth: Bu isteğe bağlı, tamsayı türünde bir özelliktir. Bu özelliğin değerini herhangi bir pozitif tamsayı değerine ayarlayın. Bu özellik, eylem çubuğundaki düğmelerin genişliğini piksel cinsinden tanımlar. Varsayılan değer 32 pikseldir.

  • CaptionImageMaxHeight: Bu isteğe bağlı, tamsayı türünde bir özelliktir. Bu özelliğin değerini herhangi bir pozitif tamsayı olarak ayarlayın. Bu özellik, isteğe bağlı bir açıklamalı alt yazının en yüksek simge yüksekliğini tanımlar. Varsayılan değer 32 pikseldir.

  • CaptionImageMaxWidth: Bu isteğe bağlı, tamsayı türünde bir özelliktir. Bu özelliğin değerini herhangi bir pozitif tamsayı olarak ayarlayın. Bu özellik, isteğe bağlı bir açıklamalı alt yazının en büyük simge genişliğini tanımlar. Varsayılan değer 32 pikseldir.

  • CaptionImageUrl: Bu isteğe bağlı, dize türünde bir özelliktir. Bu özellik, resim yazısı görüntüsü olarak görünen bir resme bağlanan bir URL tanımlar.

  • PreviewTitle: Bu isteğe bağlı, dize türünde bir özelliktir. Bu özelliği, seçim önizleme kutusunun üstünde görünen metni tanımlamak için kullanırsınız.

  • EnableSelection: Bu isteğe bağlı, Boole türünde bir özelliktir. Liste görünümünün seçim modunda olup olmadığını tanımlamak için bu özelliği kullanırsınız. Liste görünümü seçim modundaysa, liste görünümünün en soldaki sütununda bir onay kutuları sütunu ve liste görünümünün en altında bir seçim önizleme kutusu görüntülenir. Bu özelliğin varsayılan değeri true olarak ayarlanır.

  • SingleSelection: Bu isteğe bağlı, Boole türünde bir özelliktir. Liste görünümü için seçim modu açıksa, bu değeri true olarak ayarlamak, son kullanıcının listeden yalnızca bir öğe seçmesini sınırlar. Varsayılan olarak, bu özelliğin değeri false olarak ayarlanır. Bu, varsayılan olarak son kullanıcının listeden birden çok öğe seçebileceği anlamına gelir.

  • RedirectUrl: Bu isteğe bağlı, dize türünde bir özelliktir. Listede köprülenmiş bir öğe tıklatıldığında yeniden yönlendirilecek bir sayfa belirtmek için bu özelliği kullanın. Bu URL, çalışma zamanı sırasında gerçek değerle değiştirilen yer tutucular içerebilir. Yer tutucular aşağıdaki gibidir:

    • objectType {0}
    • objectID {1}
    • {2} displayName
  • ShowTitleBar: Bu isteğe bağlı, Boole türünde bir özelliktir. Başlık çubuğunun görünür olup olmayacağını belirtmek için bu özelliği kullanın. Bu özelliğin varsayılan değeri false'tur.

  • ShowActionBar: Bu isteğe bağlı, Boole türünde bir özelliktir. Eylem çubuğu alanının görünür olup olmayacağını belirtmek için bu özelliği kullanın. Bu özelliğin varsayılan değeri true değeridir.

  • ShowPreview: Bu isteğe bağlı, Boole türünde bir özelliktir. Önizleme alanının görünür olup olmayacağını belirtmek için bu özelliği kullanın. Bu özelliğin varsayılan değeri true değeridir.

  • ShowSearchControl: Bu isteğe bağlı, Boole türünde bir özelliktir. Arama denetiminin görünür olup olmayacağını belirtmek için bu özelliği kullanın. Bu özelliğin varsayılan değeri true değeridir.

  • ResultObjectType: Bu isteğe bağlı bir dize türü özelliğidir. Arama sonuçlarının beklenen nesne türünü belirtmek için bu özelliği kullanın. Bu özelliğin varsayılan değeri Kaynak'tır. Arama sonucu birden çok kaynak türü içeriyorsa, bu değer Kaynak olarak belirtilmelidir.

  • ColumnsToDisplay: Bu isteğe bağlı bir özelliktir. Liste görünümünün sütun olarak görüntülenmesini istediğiniz öznitelikleri belirtmek için bu özelliği kullanın. Bu özelliğin varsayılan değeri DisplayName, ResourceType'tır. Her sütun bir özniteliğin sistem adıyla temsil edilir. Her sütun ',' virgülle ayrılır. Liste görünümü seçim modunda kullanıldığında bu özellik için bir değer belirtmeniz gerekmez. Seçim modunda, sütun ayarı şu anda seçili olan arama kapsamının SearchScopeColumn özniteliğinden gelir.

  • ListFilter: Bu isteğe bağlı, dize türünde bir özelliktir. Bu, liste görünümünü işlemek için kullanılan xpath'tir ve yalnızca ShowSearchControl özelliği false olarak ayarlandığında etkindir. Bu değer belirtildiğinde, liste görünümü sorgular için bu özellik değerini kullanır ve liste görünümü seçim modunda değildir. Filtre kaynağın dize özniteliğine bağlanabilir:

    <my:Property my:Name="ListFilter" my:Value="{Binding Source=object, Path=Filter}"/>

    veya önceden tanımlanmış bir ortam değişkeni içeren bir dize olabilir:

    <my:Property my:Name="ListFilter" my:Value="/Approval[Request=''%ObjectID%'']"/>

  • TargetAttribute: Bu eski bir özelliktir. Değeri, çok değerli başvuruda bulunılan bir özniteliğin sistem adı olmalıdır. Bu özelliğin artık kullanılmaması önerilir. Örneğin, grup yönetiminde kullanmak yerine:

    <my:Property my:Name="TargetAttribute" my:Value="ExplicitMember"/>

    Şu değeri kullanın:

    <my:Property my:Name=”ListFilter” my:Value=”/Group[ObjectID=’%ObjectID%’]/ExplicitMember”/>

  • ItemClickBehavior: Bu isteğe bağlı, dize türünde bir özelliktir. Bir liste görünümü öğesine tıklayarak sunucu geri göndermesini tetiklemesini mi yoksa öğenin ayrıntılı bir görünümünü mü görüntülemesini istediğinizi belirtmek için bu özelliği kullanın. İki seçenek değeri desteklenir: ModelessDialog ve Server. Varsayılan değer ModelessDialog'dur.

  • SearchOnLoad: Bu, liste görünümü denetiminin yükte sorgulayıp sorgulamayacağını belirten isteğe bağlı, Boole türünde bir özelliktir. Bu özellik yalnızca liste görünümü seçim modunda olduğunda geçerlidir. Bu özelliğin varsayılan değeri true değeridir. Kullanıcının anlamlı bir sonuç elde etmek için genellikle aramaya metin yazmasını bekliyorsanız bu özelliği kapatabilirsiniz. Bu durumda, liste görünümü başlangıçta kullanıcıya nasıl arama yapılacağını bildirmek için bir ileti gösterir. Metin aşağıdaki özelliklerle özelleştirilebilir:

  • MainSearchScreenText: Bu isteğe bağlı dize türü özelliği yalnızca SearchOnload true olarak ayarlandığında geçerlidir. Bu özellik, liste görünümü otomatik olarak arama yapılmadığında liste görünümünün ortasında görünen metni özelleştirmek için kullanılabilir. Bu özelliğin varsayılan değeri, daha önce açıklandığı gibi aramayı kullanarak kaynakları bulmaktır. Metni senaryonuza daha uygun hale getirmek için bir değer belirtebilirsiniz.

  • SubSearchScreenText: Bu isteğe bağlı dize türü özelliği, MainSearchScreenText özelliğinden sonra görüntülenen metni özelleştirmek için kullanılır. Genellikle, liste görünümünü kullanma hakkında ek yönergeler eklemek istemediğiniz sürece bu özellik için bir değer belirtmeniz gerekmez.

olayları :

  • Bu denetim için olay yok.

Örnek:

Önizleme listesi olarak UocFilterBuilder denetimiyle birlikte liste görünümünü kullanma örnekleri için, bu belgenin önceki bölümlerinde yer alan UocFilterBuilder örneklerine bakın. UocListView, filtre oluşturucusu olmadan da kullanılabilir.

UocNumericBox

Adı: UocNumericBox

Açıklama: Bu, yalnızca tamsayı değerlerini alan basit bir metin kutusudur. Bu denetim hem salt okunur modu hem de güncelleştirilebilir modu destekler.

Özellikler:

  • Tüm ortak özellikler: Bu özellikler hakkında bilgi için bkz. Ortak özellikler.

  • MaxValue: Bu isteğe bağlı, tamsayı türünde bir özelliktir. Denetim için istemci tarafı doğrulama tanımlamak için bu özelliği kullanın. Son kullanıcının girdiği değer bu değeri aşamaz. {Binding Source=schema, Path=IntegerMaximum} kullanarak açık bir tamsayı girebilir veya bunu bir veri kaynağından alınan tamsayı verileriyle bağlayabilirsiniz.

  • MinValue: Bu isteğe bağlı, tamsayı türünde bir özelliktir. Denetim için istemci tarafı doğrulama tanımlamak için bu özelliği kullanın. Son kullanıcının girdiği değer bu değerden düşük olamaz. {Binding Source=schema, Path=IntegerMinimum} kullanarak açık bir tamsayı girebilir veya bunu bir veri kaynağından alınan tamsayı verileriyle bağlayabilirsiniz.

  • DefaultValue: Bu isteğe bağlı, tamsayı türünde bir özelliktir. Denetim yeni veri oluşturmak için kullanılıyorsa, denetim için varsayılan bir değer tanımlamak için bu özelliği kullanın. Bu değer yalnızca statik bir tamsayıya açıkça ayarlanabilir.

  • Value: Bu isteğe bağlı, tamsayı türünde bir özelliktir. Bunu bir veri kaynağından bir tamsayı türü verisiyle bağladığınızda, sayfa yüklendiğinde bu özniteliğin değeri görüntülenir ve sonra gönderimden sonra veri kaynağına kaydedilir.

olayları :

  • TextChanged: Denetim içindeki geçerli değer değiştiğinde bu olay yayılır.

Örnek:

UocNumericBox denetimiUocNumericBox controlUocNumericBox control

Uyarı

Aşağıdaki örnek kod ilk sayısal kutuyu oluşturur. Sayısal kutu bir veri kaynağına veya şema bilgilerine bağlı değil.

<!--Sample for an explicit Numeric Box-->
<my:Control my:Name="SampleExplicitNumericBox" my:TypeName="UocNumericBox" my:Caption="An Explicit NumericBox" my:Description="This is a dummy numeric box that is not linked with data source.">
     <my:Properties>
          <my:Property my:Name="MinValue" my:Value="1"/>
          <my:Property my:Name="MaxValue" my:Value="100"/>
          <my:Property my:Name="DefaultValue" my:Value="1"/>
     </my:Properties>
</my:Control>
<!--End of sample for an explicit Numeric Box.-->

Aşağıdaki örnek kod ikinci sayısal kutuyu oluşturur.

Uyarı

Bu örneğin çalışması için önce AnIntegerAttribute adlı yeni bir tamsayı türü özniteliği oluşturmanız ve bunu özel kaynak türüyle bağlamanız gerekir.

<!--Sample for a dynamically rendered numeric box-->
<my:Control my:Name="SampleDynamicNumericBox" my:TypeName="UocNumericBox" my:Caption="{Binding Source=schema, Path=AnIntegerAttribute.DisplayName}" my:Description="{Binding Source=schema, Path=AnIntegerAttribute.Description}" my:RightsLevel="{Binding Source=rights, Path=AnIntegerAttribute}">
     <my:Properties>
          <my:Property my:Name="MaxValue" my:Value="{Binding Source=schema, Path=AnIntegerAttribute.IntegerMaximum}"/>
          <my:Property my:Name="MinValue" my:Value="{Binding Source=schema, Path=AnIntegerAttribute.IntegerMinimum}"/>
          <my:Property my:Name="DefaultValue" my:Value="1"/>
          <my:Property my:Name="Value" my:Value="{Binding Source=object, Path=AnIntegerAttribute, Mode=TwoWay}"/>
          <my:Property my:Name="Required" my:Value="{Binding Source=schema, Path=AnIntegerAttribute.Required}"/>
     </my:Properties>
</my:Control>
<!--End of sample for a dynamically numeric box.-->

UocPictureBox

Adı: UocPictureBox

Açıklama: Bu denetim, resim, ikili türdeki verileri işlemek için kullanılır. Bu denetimin ikili tür verilerle kullanılmasını öneririz. Resim, sağlanan bir görüntü URL'si, ikili tür verileri veya resim türü verileri içeren öznitelik kaynağı tarafından işlenebilir.

Özellikler:

  • Tüm ortak özellikler: Bu özellikler hakkında bilgi için bkz. Ortak özellikler.

  • ImageUrl: Bu isteğe bağlı, dize türünde bir özelliktir. Hedef resmin URL'sini girin.

  • MaxHeight: Bu isteğe bağlı bir dize türü özelliğidir. Piksel cinsinden işlenecek görüntünün en yüksek yüksekliğini tanımlar.

  • MaxWidth: Bu isteğe bağlı, dize türünde bir özelliktir. Piksel cinsinden işlenecek görüntünün en büyük genişliğini tanımlar.

  • ImageData: Bu bir ikili tür özelliğidir. Bir veri kaynağını görüntülenen görüntüyle bağlamak için bu özelliği kullanın. İlişkili veri kaynağının ikili olması gerekir. Bu alanı, bayt[] biçiminde veri sağlayarak açıkça resim ayarlamak için de kullanabilirsiniz.

  • ImageResource: Bu isteğe bağlı, ikili tür bir özelliktir.

  • AlternativeText: Bu isteğe bağlı, dize türünde bir özelliktir. Bu özellik, resim görüntülenemediğinde alternatif metin olarak görünür.

olayları :

  • Bu denetim için olay yok.

Örnek:

Uyarı

Bu örneği kullanmak için, denetimle birlikte mevcut bir görüntü veri bağlamanız gerekir.

Aşağıdaki kod kesimi, bir veri kaynağını denetime bağlayan bir resim kutusu denetimi oluşturur:

<!--Sample for a Picture Box control binding with a data source-->
<my:Control my:Name="SamplePictureBoxImageData" my:TypeName="UocPictureBox" my:RightsLevel="{Binding Source=rights, Path=Photo}">
     <my:Properties>
          <my:Property my:Name="MaxHeight" my:Value="100" />
          <my:Property my:Name="MaxWidth" my:Value="100" />
          <my:Property my:Name="ImageData" my:Value="{Binding Source=object, Path=Photo}" />
     </my:Properties>
</my:Control>
<!--End of Sample for a Picture Box control-->

Aşağıdaki kod kesimi, url görüntüsünü denetime bağlayan bir resim kutusu denetimi oluşturur:

<!--Sample for a Picture Box control bind with explicit URL-->
<my:Control my:Name="SamplePictureBoxImageUrl" my:TypeName="UocPictureBox">
     <my:Properties>
          <my:Property my:Name="MaxHeight" my:Value="100" />
          <my:Property my:Name="MaxWidth" my:Value="100" />
          <my:Property my:Name="ImageUrl" my:Value="http://www.microsoft.com/dummypicture.jpg" />
     </my:Properties>
</my:Control>
<!--End of Sample for a Picture Box control-->

UocRadioButtonList

Adı: UocRadioButtonList

Açıklama: Bu basit bir seçenek düğmesi listesidir. Seçenekler bu listede birbirini dışlar. Kullanıcıların aralarından seçim yapabileceğiniz beş veya daha az seçeneği olduğunda bu denetim önerilir. Aksi takdirde, UOCListView önerilir.

Özellikler:

  • Tüm ortak özellikler: Bu özellikler hakkında bilgi için bkz. Ortak özellikler.

  • ValuePath: Değer yolu Değer olarak ayarlanır. Bu bölümde açıklandığı gibi Option öğesinden Value alanıyla bağlanır.

  • CaptionPath: Değer yolu Resim Yazısı olarak ayarlanır. Bu bölümde açıklandığı gibi Option öğesinden Caption alanıyla bağlanır.

  • hintpath : Değer yolu İpucu olarak ayarlanır. Bu bölümde açıklandığı gibi Option öğesinden İpucu alanıyla bağlanır.

  • SelectedValue: Şu anda seçili olan değer. Bu gerekli bir dize türü özelliğidir. Bu özellik, veri kaynağındaki dize verileriyle bağlanır.

olayları :

  • SelectedIndexChanged: Olay, seçili radyo düğmesi değiştiğinde gerçekleşir.

  • CheckedChanged: Radyo düğmesi durumunu değiştirdiğinde, bu olay yayılır.

Seçenekler:

Bu denetim için seçenekler olarak yalnızca iki Seçenekleri öğe olabilir. Seçenekleri öğesinin yapısı için bkz. Seçenekler öğesi.

  • Değer: Tek bir Option öğesindeki Değer alanının Doğru veya Yanlış olarak ayarlanması gerekir.

  • Resim Yazısı: Bu herhangi bir dize değeri olabilir.

  • İpucu: Bu herhangi bir dize değeri olabilir.

Örnek:

UocRadioButtonList denetimiUocRadioButtonList controlUocRadioButtonList control

Uyarı

Bu örneğin çalışması için yeni bir Boole özniteliği (ABooleanAttribute) oluşturmanız ve bunu özel kaynak türünüzle bağlamanız gerekir.

Aşağıdaki kod kesimi bir seçenek düğmesi listesi oluşturur:

<!--Sample for option button list control-->
<my:Control my:Name="SampleRadioButtonList" my:TypeName="UocRadioButtonList" my:Caption="{Binding Source=schema, Path=ABooleanAttribute.DisplayName}" my:Description="{Binding Source=schema, Path=ABooleanAttribute.Description}" my:RightsLevel="{Binding Source=rights, Path=ABooleanAttribute}">
     <my:Options>
          <my:Option my:Value="False" my:Caption="Set Value To False" my:Hint="By selecting this option, you are setting the value of the attribute to false." />
          <my:Option my:Value="True" my:Caption="Set Value To True" my:Hint="By selecting this option, you are setting the value of the attribute to true." />
     </my:Options>
     <my:Properties>
          <my:Property my:Name="Required" my:Value="{Binding Source=schema, Path=ABooleanAttribute.Required}" />
          <my:Property my:Name="ValuePath" my:Value="Value" />
          <my:Property my:Name="CaptionPath" my:Value="Caption" />
          <my:Property my:Name="HintPath" my:Value="Hint" />
          <my:Property my:Name="SelectedValue" my:Value="{Binding Source=object, Path=ABooleanAttribute, Mode=TwoWay}" />
     </my:Properties>
</my:Control>
<!--End of Sample for option button list control-->

UocSimpleRadioButton

Adı: UocSimpleRadioButton

Açıklama: Bu basit bir seçenek düğmesi denetimidir. Bu denetimin kullanımı basit bir onay kutusuna benzer. Metin etiketlemeyle yan yana gösterilen iki seçenek düğmesi vardır. Denetimi Boole türündeki verilere bağlamanız önerilir.

Özellikler:

  • Tüm ortak özellikler: Bu özellikler hakkında bilgi için bkz. Ortak özellikler.

  • TrueText: Bu isteğe bağlı, dize türünde bir özelliktir. Bu, seçenek düğmesi seçildiğinde görüntülenen metindir.

  • FalseText: Bu isteğe bağlı, dize türünde bir özelliktir. Bu, seçenek düğmesi seçili olmadığında görüntülenen metindir.

  • SelectedItem: Bu isteğe bağlı, Boole türünde bir özelliktir. Bu değer seçenek düğmesinin seçili olduğunu gösterir. Bu, bir veri kaynağından Boole türündeki verilerle bağlanabilir. Varsayılan değer false olarak ayarlanır.

olayları :

  • CheckedChanged: Seçenek düğmesi seçili durumdan seçilmemiş durumuna değiştiğinde veya tam tersi olduğunda, bu sinyal gönderilir.

Örnek:

UocSimpleRadioButton denetimiUocSimpleRadioButton controlUocSimpleRadioButton control

Uyarı

Örneğin çalışmasını sağlamak için yeni bir Boole özniteliği ABooleanAttribute oluşturmanız ve bunu özel kaynak türünüzle bağlamanız gerekir. RCDC verileri aynı özel kaynak türüne uygulanır.

Aşağıdaki kod kesimi bir seçenek düğmesi oluşturur:

<!--Sample for simple option button control-->
<my:Control my:Name="SampleSimpleRadioButton" my:TypeName="UocSimpleRadioButton" my:Caption="{Binding Source=schema, Path=ABooleanAttribute.DisplayName}" my:Description="{Binding Source=schema, Path=ABooleanAttribute.Description}" my:RightsLevel="{Binding Source=rights, Path=ABooleanAttribute}">
     <my:Properties>
          <my:Property my:Name="Required" my:Value="{Binding Source=schema, Path=ABooleanAttribute.Required}" />
          <my:Property my:Name="FalseText" my:Value="False"/>
          <my:Property my:Name="TrueText" my:Value="True"/>
          <my:Property my:Name="SelectedItem" my:Value="{Binding Source=object, Path=ABooleanAttribute, Mode=TwoWay}" />
     </my:Properties>
</my:Control>
<!--End of Sample for simple option button control-->

UocTextBox

Adı: UocTextBox

Açıklama: Bu, dize türü girişi destekleyen basit bir metin kutusudur. Dize türündeki verilerle bağlanmak için bu denetimi kullanmanızı öneririz.

Özellikler:

  • Tüm ortak özellikler: Bu özellikler hakkında bilgi için bkz. Ortak özellikler.

  • MaxLength: Bu isteğe bağlı, tamsayı türünde bir özniteliktir. Bu özellik, bir dize girişi için uzunluk üst sınırını belirtir. Bu özelliğin varsayılan değeri 128 karakterdir.

  • Metin: Bu isteğe bağlı, dize türünde bir özelliktir. Bu, metin kutusunda görüntülenen metindir. Denetimin ilk yüklenmesi sırasında metin kutusunda görünen açık bir dize tanımlayabilir veya bunu bir dize türünün şema özniteliğine bağlayabilirsiniz.

  • Satırlar: Bu isteğe bağlı, tamsayı türünde bir özelliktir. Bu özellik, metin kutusunun yüksekliğini karakter birimleri olarak tanımlar. Varsayılan değer bir karakterdir.

  • Sütunlar: Bu isteğe bağlı, tamsayı türünde bir özelliktir. Bu özellik, metin kutusunun genişliğini karakter birimleri olarak tanımlar. Varsayılan değer 20 karakterdir.

  • Wrap: Bu isteğe bağlı, Boole türünde bir özelliktir. Kullanıcı, bu özelliğin değerini true olarak ayarlayarak metin kutusunda Sözcük Kaydırma özelliğini etkinleştirir. Bu özelliğin varsayılan değeri true olarak ayarlanır.

  • UniquenessValidationXPath: Bu isteğe bağlı, dize türünde bir özelliktir. Geçerli bir FIM XPath filtre ifadesi alır ve kullanıcının değer girişinin filtre kapsamındaki kaynaklar içinde benzersiz olmasını sağlar. Örneğin, kullanıcının istediği görünen adın FIM Hizmet Veritabanı'ndaki tüm posta etkin güvenlik gruplarında benzersiz olduğundan emin olmak için XPath /Group[DisplayName=’%VALUE%’ and Type=’MailEnabledSecurity’kullanırsınız. Doğrulama eylemi, kullanıcı sayfadan ayrıldığında gerçekleştirilir. Bu özellik yalnızca kaynak oluşturmak için RCDC'de desteklenir.

  • UniquenessErrorMessage: Bu isteğe bağlı, dize türünde bir özelliktir. Bu dize, UniquenessValidationXPath doğrulaması başarısız olursa ve açık metin veya Dize Kaynak Değişkeni olabilirse bir hata iletisi görüntülemek için kullanılır. Bu özellik belirtilmezse, başarısız doğrulama için varsayılan hata iletisi "%VALUE% zaten var. Lütfen farklı bir tane deneyin."

olayları :

  • TextChanged: Metin kutusunun içindeki metin değiştirildiğinde bu olay yayılır.

Örnek:

Bu denetimin tam bir örneği için Basit denetim örnekleri bölümüne bakın.


Ek A: Varsayılan XSD şeması

Bu bölümde, Microsoft Identity Manager 2016 SP1 ile sağlanan tüm varsayılan RCDC'ler için XSD şemasının tamamı gösterilir.

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<xsd:schema targetNamespace="http://schemas.microsoft.com/2006/11/ResourceManagement" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:my="http://schemas.microsoft.com/2006/11/ResourceManagement" xmlns:xd="http://schemas.microsoft.com/office/infopath/2003" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    <xsd:attribute name="TypeName" type="my:requiredString"/>
    <xsd:attribute name="Name" type="my:requiredAlphanumericString"/>
    <xsd:attribute name="Parameters" type="xsd:string"/>
    <xsd:attribute name="DisplayAsWizard" type="xsd:boolean"/>
    <xsd:attribute name="Caption" type="xsd:string"/>
    <xsd:attribute name="AutoValidate" type="xsd:boolean"/>
    <xsd:attribute name="Enabled" type="xsd:string"/>
    <xsd:attribute name="Visible" type="xsd:string"/>
    <xsd:attribute name="IsSummary" type="xsd:boolean"/>
    <xsd:attribute name="IsHeader" type="xsd:boolean"/>
    <xsd:attribute name="HelpText" type="xsd:string"/>
    <xsd:attribute name="Link" type="xsd:string"/>
    <xsd:attribute name="Description" type="xsd:string"/>
    <xsd:attribute name="ExpandArea" type="xsd:boolean"/>
    <xsd:attribute name="Hint" type="xsd:string"/>
    <xsd:attribute name="AutoPostback" type="xsd:string"/>
    <xsd:attribute name="RightsLevel" type="my:requiredString"/>
    <xsd:attribute name="Value" type="xsd:string"/>
    <xsd:attribute name="Handler" type="my:requiredString"/>
    <xsd:attribute name="ImageUrl" type="xsd:string"/>
    <xsd:attribute name="RedirectUrl" type="xsd:string"/>
    <xsd:attribute name="ClickBehavior" type="xsd:string"/>
    <xsd:attribute name="EnableMode" type="xsd:string"/>
    <xsd:attribute name="ValueType" type="xsd:string"/>
    <xsd:attribute name="Condition" type="xsd:string"/>
    <xsd:element name="ObjectControlConfiguration">
        <xsd:complexType>
            <xsd:sequence>
                <xsd:element ref="my:ObjectDataSource" minOccurs="0" maxOccurs="32"/>
                <xsd:element ref="my:XmlDataSource" minOccurs="0" maxOccurs="32"/>
                <xsd:element ref="my:Panel"/>
                <xsd:element ref="my:Events" minOccurs="0" maxOccurs="1"/>
            </xsd:sequence>
            <xsd:attribute ref="my:TypeName"/>
            <xsd:anyAttribute processContents="lax" namespace="http://www.w3.org/XML/1998/namespace"/>
        </xsd:complexType>
    </xsd:element>
    <xsd:element name="ObjectDataSource">
        <xsd:complexType>
            <xsd:sequence/>
            <xsd:attribute ref="my:TypeName"/>
            <xsd:attribute ref="my:Name"/>
            <xsd:attribute ref="my:Parameters"/>
        </xsd:complexType>
    </xsd:element>
    <xsd:element name="XmlDataSource">
        <xsd:complexType  mixed="true">
      <xsd:sequence>
        <xsd:any minOccurs="0" maxOccurs="unbounded" processContents="lax"/>
      </xsd:sequence>
      <xsd:attribute ref="my:Name"/>
      <xsd:attribute ref="my:Parameters"/>
        </xsd:complexType>
    </xsd:element>
    <xsd:element name="Panel">
        <xsd:complexType>
            <xsd:sequence>
                <xsd:element ref="my:Grouping" minOccurs="1" maxOccurs="16"/>
            </xsd:sequence>
            <xsd:attribute ref="my:Name"/>
            <xsd:attribute ref="my:DisplayAsWizard"/>
            <xsd:attribute ref="my:Caption"/>
            <xsd:attribute ref="my:AutoValidate"/>
        </xsd:complexType>
    </xsd:element>
    <xsd:element name="Grouping">
        <xsd:complexType>
            <xsd:sequence>
                <xsd:element ref="my:Help" minOccurs="0"  maxOccurs="1"/>
                <xsd:element ref="my:Control" minOccurs="1" maxOccurs="256"/>
                <xsd:element ref="my:Events" minOccurs="0" maxOccurs="1"/>
            </xsd:sequence>
            <xsd:attribute ref="my:Name"/>
            <xsd:attribute ref="my:Caption"/>
            <xsd:attribute ref="my:Description"/>
            <xsd:attribute ref="my:Enabled"/>
            <xsd:attribute ref="my:Visible"/>
            <xsd:attribute ref="my:IsHeader"/>
            <xsd:attribute ref="my:IsSummary"/>
        </xsd:complexType>
    </xsd:element>
    <xsd:element name="Help">
        <xsd:complexType>
            <xsd:sequence/>
            <xsd:attribute ref="my:HelpText"/>
            <xsd:attribute ref="my:Link"/>
        </xsd:complexType>
    </xsd:element>
    <xsd:element name="Control">
        <xsd:complexType>
            <xsd:sequence>
                <xsd:element ref="my:Help" minOccurs="0"  maxOccurs="1"/>
                <xsd:element ref="my:CustomProperties" minOccurs="0"  maxOccurs="1"/>
                <xsd:element ref="my:Options" minOccurs="0"  maxOccurs="1"/>
                <xsd:element ref="my:Buttons" minOccurs="0"  maxOccurs="1"/>
                <xsd:element ref="my:Properties" minOccurs="0"  maxOccurs="1"/>
                <xsd:element ref="my:Events" minOccurs="0" maxOccurs="1"/>
            </xsd:sequence>
            <xsd:attribute ref="my:Name"/>
            <xsd:attribute ref="my:TypeName"/>
            <xsd:attribute ref="my:Caption"/>
            <xsd:attribute ref="my:Enabled"/>
            <xsd:attribute ref="my:Visible"/>
            <xsd:attribute ref="my:Description"/>
            <xsd:attribute ref="my:ExpandArea"/>
            <xsd:attribute ref="my:Hint"/>
            <xsd:attribute ref="my:AutoPostback"/>
            <xsd:attribute ref="my:RightsLevel"/>
        </xsd:complexType>
    </xsd:element>
    <xsd:element name="CustomProperties">
        <xsd:complexType mixed="true">
            <xsd:sequence>
                <xsd:any minOccurs="0" maxOccurs="unbounded" namespace="##targetNamespace" processContents="lax"/>
            </xsd:sequence>
        </xsd:complexType>
    </xsd:element>
    <xsd:element name="Options">
        <xsd:complexType>
            <xsd:sequence>
                <xsd:element ref="my:Option" minOccurs="0" maxOccurs="unbounded"/>
            </xsd:sequence>
            <xsd:attribute ref="my:ValueType"/>
        </xsd:complexType>
    </xsd:element>
    <xsd:element name="Option">
        <xsd:complexType>
            <xsd:simpleContent>
                <xsd:extension base="xsd:string">
                    <xsd:attribute ref="my:Value"/>
                    <xsd:attribute ref="my:Caption"/>
                    <xsd:attribute ref="my:Hint"/>
                </xsd:extension>
            </xsd:simpleContent>
        </xsd:complexType>
    </xsd:element>
    <xsd:element name="Buttons">
        <xsd:complexType>
            <xsd:sequence>
                <xsd:element ref="my:Button" minOccurs="1" maxOccurs="8"/>
            </xsd:sequence>
        </xsd:complexType>
    </xsd:element>
    <xsd:element name="Button">
        <xsd:complexType>
            <xsd:simpleContent>
                <xsd:extension base="xsd:string">
                    <xsd:attribute ref="my:Name"/>
                    <xsd:attribute ref="my:Caption"/>
                    <xsd:attribute ref="my:Hint"/>
                    <xsd:attribute ref="my:ImageUrl"/>
                    <xsd:attribute ref="my:ClickBehavior"/>
                    <xsd:attribute ref="my:RedirectUrl"/>
                    <xsd:attribute ref="my:Enabled"/>
                    <xsd:attribute ref="my:Visible"/>
                    <xsd:attribute ref="my:EnableMode"/>
                </xsd:extension>
            </xsd:simpleContent>
        </xsd:complexType>
    </xsd:element>
    <xsd:element name="Properties">
        <xsd:complexType>
            <xsd:sequence>
                <xsd:element ref="my:Property" minOccurs="1" maxOccurs="32"/>
            </xsd:sequence>
        </xsd:complexType>
    </xsd:element>
    <xsd:element name="Property">
        <xsd:complexType>
            <xsd:simpleContent>
                <xsd:extension base="xsd:string">
                    <xsd:attribute ref="my:Name"/>
                    <xsd:attribute ref="my:Value"/>
                    <xsd:attribute ref="my:Condition"/>                 
                </xsd:extension>
            </xsd:simpleContent>
        </xsd:complexType>
    </xsd:element>
    <xsd:element name="Events">
        <xsd:complexType>
            <xsd:sequence>
                <xsd:element ref="my:Event" minOccurs="1" maxOccurs="16"/>
            </xsd:sequence>
        </xsd:complexType>
    </xsd:element>
    <xsd:element name="Event">
        <xsd:complexType>
            <xsd:simpleContent>
                <xsd:extension base="xsd:string">
                    <xsd:attribute ref="my:Name"/>
                    <xsd:attribute ref="my:Handler"/>
          <xsd:attribute ref="my:Parameters"/>
        </xsd:extension>
            </xsd:simpleContent>
        </xsd:complexType>
    </xsd:element>
    <xsd:simpleType name="requiredString">
        <xsd:restriction base="xsd:string">
            <xsd:minLength value="1"/>
        </xsd:restriction>
    </xsd:simpleType>
  <xsd:simpleType name="requiredAlphanumericString">
    <xsd:restriction base="xsd:string">
      <xsd:pattern value="[A-Za-z0-9_]{1,128}"/>
    </xsd:restriction>
  </xsd:simpleType>
    <xsd:simpleType name="requiredAnyURI">
        <xsd:restriction base="xsd:anyURI">
            <xsd:minLength value="1"/>
        </xsd:restriction>
    </xsd:simpleType>
    <xsd:simpleType name="requiredBase64Binary">
        <xsd:restriction base="xsd:base64Binary">
            <xsd:minLength value="1"/>
        </xsd:restriction>
    </xsd:simpleType>
</xsd:schema>

Ek B: Varsayılan Özet XSL

Bu bölümde, Microsoft Identity Manager 2016 SP1 ile sağlanan özet XSL'nin tamamı gösterilir.

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:msxsl="urn:schemas-microsoft-com:xslt">
  <xsl:template name="output-attribute-value">
    <xsl:param name="attribute"/>
    <xsl:param name="type"/>
    <xsl:choose>
      <xsl:when test="$type='Binary'">
        <xsl:value-of select="$attribute" disable-output-escaping="yes"/>
      </xsl:when>
      <xsl:when test="$type='Text'">
        <xsl:text xml:space="preserve" disable-output-escaping="yes">(text data)</xsl:text>
      </xsl:when>
      <xsl:otherwise>
        <xsl:value-of select="translate($attribute,' ','&#160;')" disable-output-escaping="yes"/>
      </xsl:otherwise>
    </xsl:choose>
  </xsl:template>

  <xsl:template name="output-modified-value">
    <xsl:param name="name"/>
    <xsl:param name="attribute1"/>
    <xsl:param name="text1"/>
    <xsl:param name="attribute2"/>
    <xsl:param name="text2"/>
    <xsl:param name="type"/>
    <tr class="listViewRow" style="height:22px;">
      <xsl:if test="position() mod 2 != 0">
        <td class="commonSummaryListViewCellBR ms-vb">
          <xsl:value-of select="$name" disable-output-escaping="yes"/>
        </td>
        <xsl:choose>
          <xsl:when test="$attribute1 and $attribute1!=''">
            <td class="commonSummaryListViewCellBR ms-vb">
              <xsl:call-template name="output-attribute-value">
                <xsl:with-param name="attribute" select="$attribute1"/>
                <xsl:with-param name="type" select="$type"/>
              </xsl:call-template>
            </td>
          </xsl:when>
          <xsl:otherwise>
            <td class="commonSummaryListViewCellBR ms-vb">
              <xsl:copy-of select="$text1"/>
            </td>
          </xsl:otherwise>
        </xsl:choose>
        <xsl:choose>
          <xsl:when test="$attribute2 and $attribute2!=''">
            <td class="commonSummaryListViewCellBR ms-vb">
              <xsl:call-template name="output-attribute-value">
                <xsl:with-param name="attribute" select="$attribute2"/>
                <xsl:with-param name="type" select="$type"/>
              </xsl:call-template>
            </td>
          </xsl:when>
          <xsl:otherwise>
            <td class="commonSummaryListViewCellBR ms-vb">
              <xsl:copy-of select="$text2"/>
            </td>
          </xsl:otherwise>
        </xsl:choose>
      </xsl:if>
      <xsl:if test="position() mod 2 != 1">
        <td class="ms-alternating commonSummaryListViewCellBR ms-vb">
          <xsl:value-of select="$name" disable-output-escaping="yes"/>
        </td>
        <xsl:choose>
          <xsl:when test="$attribute1 and $attribute1!=''">
            <td class="ms-alternating commonSummaryListViewCellBR ms-vb">
              <xsl:call-template name="output-attribute-value">
                <xsl:with-param name="attribute" select="$attribute1"/>
                <xsl:with-param name="type" select="$type"/>
              </xsl:call-template>
            </td>
          </xsl:when>
          <xsl:otherwise>
            <td class="ms-alternating commonSummaryListViewCellBR ms-vb">
              <xsl:copy-of select="$text1"/>
            </td>
          </xsl:otherwise>
        </xsl:choose>
        <xsl:choose>
          <xsl:when test="$attribute2 and $attribute2!=''">
            <td class="ms-alternating commonSummaryListViewCellBR ms-vb">
              <xsl:call-template name="output-attribute-value">
                <xsl:with-param name="attribute" select="$attribute2"/>
                <xsl:with-param name="type" select="$type"/>
              </xsl:call-template>
            </td>
          </xsl:when>
          <xsl:otherwise>
            <td class="ms-alternating commonSummaryListViewCellBR ms-vb">
              <xsl:copy-of select="$text2"/>
            </td>
          </xsl:otherwise>
        </xsl:choose>
      </xsl:if>
    </tr>
  </xsl:template>

  <xsl:template name="output-localized-attribute-value">
    <xsl:param name="locale"/>
    <xsl:param name="attribute"/>
    <xsl:param name="type"/>
    <tr class="listViewRow" style="height:22px;">
      <xsl:if test="position() mod 2 != 0">
        <td class="commonSummaryListViewCellBR ms-vb">
          <xsl:value-of select="$locale" disable-output-escaping="yes"/>
        </td>
        <td class="commonSummaryListViewCellBR ms-vb">
          <xsl:call-template name="output-attribute-value">
            <xsl:with-param name="attribute" select="$attribute"/>
            <xsl:with-param name="type" select="$type"/>
          </xsl:call-template>
        </td>
      </xsl:if>
      <xsl:if test="position() mod 2 != 1">
        <td class="ms-alternating commonSummaryListViewCellBR ms-vb">
          <xsl:value-of select="$locale" disable-output-escaping="yes"/>
        </td>
        <td class="ms-alternating commonSummaryListViewCellBR ms-vb">
          <xsl:call-template name="output-attribute-value">
            <xsl:with-param name="attribute" select="$attribute"/>
            <xsl:with-param name="type" select="$type"/>
          </xsl:call-template>
        </td>
      </xsl:if>
    </tr>
  </xsl:template>

  <xsl:template match="/">
    <xsl:choose>
      <xsl:when test="ModifiedAttributes[@ActionType='Create']">
        <!-- expected XML
        <ModifiedAttributes ActionType="Create">
          <Attribute Name="[attribute's system name]" DisplayName="[attribute's display name]" DataType="[all kinds of ILM data type]" InitializedValue="[the value]"/>
          other <Attribute> elements
        </ModifiedAttributes>
        -->
        <table cellspacing="0" cellpadding="3" class="commonSummaryListViewGridBorder">
          <tr align="left" class="listViewHeader" style="height:22px;">
            <th class="commonSummaryListViewHeaderCellBR">Attribute</th>
            <th class="commonSummaryListViewHeaderCellBR">Value</th>
          </tr>
          <xsl:for-each select="ModifiedAttributes/Attribute">
            <xsl:sort select="@DisplayName" order="ascending"/>
            <tr class="listViewRow" style="height:22px;">
              <xsl:if test="position() mod 2 != 0">
                <td class="commonSummaryListViewCellBR ms-vb">
                  <xsl:value-of select="@DisplayName" disable-output-escaping="yes"/>
                </td>
                <xsl:if test="count(LocalizedValue)!=0">
                  <td class="commonSummaryListViewCellBR ms-vb">
                    <table cellspacing="0" style="width:100%">
                      <tr class="listViewHeader">
                        <th align="left" class="commonSummaryListViewHeaderCellBR">Language</th>
                        <th align="left" class="commonSummaryListViewHeaderCellBR">Status</th>
                      </tr>
                      <xsl:if test="@InitializedValue and @InitializedValue != ''">
                        <xsl:call-template name="output-localized-attribute-value">
                          <xsl:with-param name="locale" select="@Locale"/>
                          <xsl:with-param name="attribute" select="@InitializedValue"/>
                          <xsl:with-param name="type" select="@DataType"/>
                        </xsl:call-template>
                      </xsl:if>
                      <xsl:for-each select="LocalizedValue">
                        <xsl:call-template name="output-localized-attribute-value">
                          <xsl:with-param name="locale" select="@Locale"/>
                          <xsl:with-param name="attribute" select="@InitializedValue"/>
                          <xsl:with-param name="type" select="../@DataType"/>
                        </xsl:call-template>
                      </xsl:for-each>
                    </table>
                  </td>
                </xsl:if>
                <xsl:if test="count(LocalizedValue)=0">
                  <td class="commonSummaryListViewCellBR ms-vb">
                    <xsl:call-template name="output-attribute-value">
                      <xsl:with-param name="attribute" select="@InitializedValue"/>
                      <xsl:with-param name="type" select="@DataType"/>
                    </xsl:call-template>
                  </td>
                </xsl:if>
              </xsl:if>
              <xsl:if test="position() mod 2 != 1">
                <td class="ms-alternating commonSummaryListViewCellBR ms-vb">
                  <xsl:value-of select="@DisplayName" disable-output-escaping="yes"/>
                </td>
                <xsl:if test="count(LocalizedValue)!=0">
                  <td class="ms-alternating commonSummaryListViewCellBR ms-vb">
                    <table cellspacing="0" style="width:100%">
                      <tr class="listViewHeader">
                        <th align="left" class="commonSummaryListViewHeaderCellBR">Language</th>
                        <th align="left" class="commonSummaryListViewHeaderCellBR">Status</th>
                      </tr>
                      <xsl:if test="@InitializedValue and @InitializedValue != ''">
                        <xsl:call-template name="output-localized-attribute-value">
                          <xsl:with-param name="locale" select="@Locale"/>
                          <xsl:with-param name="attribute" select="@InitializedValue"/>
                          <xsl:with-param name="type" select="@DataType"/>
                        </xsl:call-template>
                      </xsl:if>
                      <xsl:for-each select="LocalizedValue">
                        <xsl:call-template name="output-localized-attribute-value">
                          <xsl:with-param name="locale" select="@Locale"/>
                          <xsl:with-param name="attribute" select="@InitializedValue"/>
                          <xsl:with-param name="type" select="../@DataType"/>
                        </xsl:call-template>
                      </xsl:for-each>
                    </table>
                  </td>
                </xsl:if>
                <xsl:if test="count(LocalizedValue)=0">
                  <td class="ms-alternating commonSummaryListViewCellBR ms-vb">
                    <xsl:call-template name="output-attribute-value">
                      <xsl:with-param name="attribute" select="@InitializedValue"/>
                      <xsl:with-param name="type" select="@DataType"/>
                    </xsl:call-template>
                  </td>
                </xsl:if>
              </xsl:if>
            </tr>
          </xsl:for-each>
        </table>
      </xsl:when>
      <xsl:when test="ModifiedAttributes[@ActionType='Modify']">
        <!-- expected XML
        <ModifiedAttributes ActionType="Modify">
          <SingleAttribute Name="[attribute's system name]" DisplayName="[attribute's display name]" DataType="[all kinds of ILM data type]" InitializedValue="[the old value]" SetValue="[the new value]"/>
          other <SingleAttribute> elements
          <MultipleAttribute Name="[attribute's system name]" DisplayName="[attribute's display name]" DataType="[all kinds of ILM data type]" InsertedItem="[inserted items separated by ';']" RemovedItem="[removed items separated by ';']"/>
          other <MultipleAttribute> elements
        </ModifiedAttributes>
        -->
        <table class="commonSummaryListViewGridBorder" cellspacing="0" cellpadding="3">
          <xsl:if test="ModifiedAttributes[count(SingleAttribute)!=0]">
            <tr align="left" class="listViewHeader">
              <th class="commonSummaryListViewHeaderCellBR">Single-Value Attributes</th>
              <th class="commonSummaryListViewHeaderCellBR">Old Value</th>
              <th class="commonSummaryListViewHeaderCellBR">New Value</th>
            </tr>
            <xsl:for-each select="ModifiedAttributes/SingleAttribute">
              <xsl:sort select="@DisplayName" order="ascending"/>
              <xsl:if test="count(LocalizedValue)!=0">
                <tr class="listViewRow">
                  <xsl:if test="position() mod 2 != 0">
                    <td class="commonSummaryListViewCellBR ms-vb">
                      <xsl:value-of select="@DisplayName" disable-output-escaping="yes"/>
                    </td>
                    <td colSpan="2">
                      <table cellspacing="0" cellpadding="0" style="width:100%">
                        <tr align="left" class="listViewHeader">
                          <th class="commonSummaryListViewHeaderCellBR">Language</th>
                          <th class="commonSummaryListViewHeaderCellBR">Old Value</th>
                          <th class="commonSummaryListViewHeaderCellBR">New Value</th>
                        </tr>
                        <xsl:if test="(@InitializedValue and @InitializedValue !='') or (@SetValue and @SetValue != '')">
                          <xsl:call-template name="output-modified-value">
                            <xsl:with-param name="name" select="@Locale"/>
                            <xsl:with-param name="attribute1" select="@InitializedValue"/>
                            <xsl:with-param name="text1">(no initial value)</xsl:with-param>
                            <xsl:with-param name="attribute2" select="@SetValue"/>
                            <xsl:with-param name="text2">(value removed)</xsl:with-param>
                            <xsl:with-param name="type" select="@DataType"/>
                          </xsl:call-template>
                        </xsl:if>
                        <xsl:for-each select="LocalizedValue">
                          <xsl:call-template name="output-modified-value">
                            <xsl:with-param name="name" select="@Locale"/>
                            <xsl:with-param name="attribute1" select="@InitializedValue"/>
                            <xsl:with-param name="text1">(no initial value)</xsl:with-param>
                            <xsl:with-param name="attribute2" select="@SetValue"/>
                            <xsl:with-param name="text2">(value removed)</xsl:with-param>
                            <xsl:with-param name="type" select="../@DataType"/>
                          </xsl:call-template>
                        </xsl:for-each>
                      </table>
                    </td>
                  </xsl:if>
                  <xsl:if test="position() mod 2 != 1">
                    <td class="ms-alternating commonSummaryListViewCellBR ms-vb">
                      <xsl:value-of select="@DisplayName" disable-output-escaping="yes"/>
                    </td>
                    <td colSpan="2">
                      <table cellspacing="0" style="width:100%">
                        <tr align="left" class="listViewHeader">
                          <th class="commonSummaryListViewHeaderCellBR">Language</th>
                          <th class="commonSummaryListViewHeaderCellBR">Old Value</th>
                          <th class="commonSummaryListViewHeaderCellBR">New Value</th>
                        </tr>
                        <xsl:if test="(@InitializedValue and @InitializedValue !='') or (@SetValue and @SetValue != '')">
                          <xsl:call-template name="output-modified-value">
                            <xsl:with-param name="name" select="@Locale"/>
                            <xsl:with-param name="attribute1" select="@InitializedValue"/>
                            <xsl:with-param name="text1">(no initial value)</xsl:with-param>
                            <xsl:with-param name="attribute2" select="@SetValue"/>
                            <xsl:with-param name="text2">(value removed)</xsl:with-param>
                            <xsl:with-param name="type" select="@DataType"/>
                          </xsl:call-template>
                        </xsl:if>
                        <xsl:for-each select="LocalizedValue">
                          <xsl:call-template name="output-modified-value">
                            <xsl:with-param name="name" select="@Locale"/>
                            <xsl:with-param name="attribute1" select="@InitializedValue"/>
                            <xsl:with-param name="text1">(no initial value)</xsl:with-param>
                            <xsl:with-param name="attribute2" select="@SetValue"/>
                            <xsl:with-param name="text2">(value removed)</xsl:with-param>
                            <xsl:with-param name="type" select="../@DataType"/>
                          </xsl:call-template>
                        </xsl:for-each>
                      </table>
                    </td>
                  </xsl:if>
                </tr>
              </xsl:if>
              <xsl:if test="count(LocalizedValue)=0">
                <xsl:call-template name="output-modified-value">
                  <xsl:with-param name="name" select="@DisplayName"/>
                  <xsl:with-param name="attribute1" select="@InitializedValue"/>
                  <xsl:with-param name="text1">(no initial value)</xsl:with-param>
                  <xsl:with-param name="attribute2" select="@SetValue"/>
                  <xsl:with-param name="text2">(value removed)</xsl:with-param>
                  <xsl:with-param name="type" select="@DataType"/>
                </xsl:call-template>
              </xsl:if>
            </xsl:for-each>
          </xsl:if>
          <xsl:if test="ModifiedAttributes[count(MultipleAttribute)!=0]">
            <tr align="left" class="listViewHeader">
              <th class="commonSummaryListViewHeaderCellBR">Multiple-Value Attributes</th>
              <th class="commonSummaryListViewHeaderCellBR">Removed Items</th>
              <th class="commonSummaryListViewHeaderCellBR">Inserted Items</th>
            </tr>
            <xsl:for-each select="ModifiedAttributes/MultipleAttribute">
              <xsl:sort select="@DisplayName" order="ascending"/>
              <xsl:if test="count(LocalizedValue)!=0">
                <tr class="uocSummaryTitleTR">
                  <xsl:if test="position() mod 2 != 0">
                    <td class="commonSummaryListViewCellBR ms-vb">
                      <xsl:value-of select="@DisplayName" disable-output-escaping="yes"/>
                    </td>
                    <td>
                      <table cellspacing="0" style="width:100%">
                        <tr align="left" class="listViewHeader">
                          <th class="commonSummaryListViewHeaderCellBR">Language</th>
                          <th class="commonSummaryListViewHeaderCellBR">Removed Items</th>
                          <th class="commonSummaryListViewHeaderCellBR">Inserted Items</th>
                        </tr>
                        <xsl:if test="(@RemovedItem and @RemovedItem!='') or (@InsertedItem and @InsertedItem!='')">
                          <xsl:call-template name="output-modified-value">
                            <xsl:with-param name="name" select="@Locale"/>
                            <xsl:with-param name="attribute1" select="@RemovedItem"/>
                            <xsl:with-param name="text1">(no removed item)</xsl:with-param>
                            <xsl:with-param name="attribute2" select="@InsertedItem"/>
                            <xsl:with-param name="text2">(no inserted item)</xsl:with-param>
                            <xsl:with-param name="type" select="@DataType"/>
                          </xsl:call-template>
                        </xsl:if>
                        <xsl:for-each select="LocalizedValue">
                          <xsl:call-template name="output-modified-value">
                            <xsl:with-param name="name" select="@Locale"/>
                            <xsl:with-param name="attribute1" select="@RemovedItem"/>
                            <xsl:with-param name="text1">(no removed item)</xsl:with-param>
                            <xsl:with-param name="attribute2" select="@InsertedItem"/>
                            <xsl:with-param name="text2">(no inserted item)</xsl:with-param>
                            <xsl:with-param name="type" select="@DataType"/>
                          </xsl:call-template>
                        </xsl:for-each>
                      </table>
                    </td>
                  </xsl:if>
                  <xsl:if test="position() mod 2 != 1">
                    <td class="ms-alternating commonSummaryListViewCellBR ms-vb">
                      <xsl:value-of select="@DisplayName" disable-output-escaping="yes"/>
                    </td>
                    <td>
                      <table cellspacing="0" style="width:100%">
                        <tr align="left" class="listViewHeader">
                          <th class="commonSummaryListViewHeaderCellBR">Language</th>
                          <th class="commonSummaryListViewHeaderCellBR">Removed Items</th>
                          <th class="commonSummaryListViewHeaderCellBR">Inserted Items</th>
                        </tr>
                        <xsl:if test="(@RemovedItem and @RemovedItem!='') or (@InsertedItem and @InsertedItem!='')">
                          <xsl:call-template name="output-modified-value">
                            <xsl:with-param name="name" select="@Locale"/>
                            <xsl:with-param name="attribute1" select="@RemovedItem"/>
                            <xsl:with-param name="text1">(no removed item)</xsl:with-param>
                            <xsl:with-param name="attribute2" select="@InsertedItem"/>
                            <xsl:with-param name="text2">(no inserted item)</xsl:with-param>
                            <xsl:with-param name="type" select="@DataType"/>
                          </xsl:call-template>
                        </xsl:if>
                        <xsl:for-each select="LocalizedValue">
                          <xsl:call-template name="output-modified-value">
                            <xsl:with-param name="name" select="@Locale"/>
                            <xsl:with-param name="attribute1" select="@RemovedItem"/>
                            <xsl:with-param name="text1">(no removed item)</xsl:with-param>
                            <xsl:with-param name="attribute2" select="@InsertedItem"/>
                            <xsl:with-param name="text2">(no inserted item)</xsl:with-param>
                            <xsl:with-param name="type" select="@DataType"/>
                          </xsl:call-template>
                        </xsl:for-each>
                      </table>
                    </td>
                  </xsl:if>
                </tr>
              </xsl:if>
              <xsl:if test="count(LocalizedValue)=0">
                <xsl:call-template name="output-modified-value">
                  <xsl:with-param name="name" select="@DisplayName"/>
                  <xsl:with-param name="attribute1" select="@RemovedItem"/>
                  <xsl:with-param name="text1">(no removed item)</xsl:with-param>
                  <xsl:with-param name="attribute2" select="@InsertedItem"/>
                  <xsl:with-param name="text2">(no inserted item)</xsl:with-param>
                  <xsl:with-param name="type" select="@DataType"/>
                </xsl:call-template>
              </xsl:if>
            </xsl:for-each>
          </xsl:if>
        </table>
      </xsl:when>
    </xsl:choose>
  </xsl:template>
</xsl:stylesheet>