Liste Görünümü Oluşturma


Liste görünümü, verileri tek bir sütunda (sıralı olarak) görüntüler. Listede görüntülenen veriler bir .NET özelliğinin değeri veya bir komut dosyasının değeri olabilir.

Liste Görünümü Ekranı

Aşağıdaki çıktı, Windows PowerShell'in System.Serviceprocess.Servicecontroller?Displayproperty=Get-Service cmdlet'i tarafından döndürülen tam ad nesnelerinin özelliklerini nasıl görüntülediğini gösterir. Bu örnekte, her nesne önceki nesneden boş bir satırla ayrılmış şekilde üç nesne döndürüldü.

Get-Service | format-list
Name                : AEADIFilters
DisplayName         : Andrea ADI Filters Service
Status              : Running
DependentServices   : {}
ServicesDependedOn  : {}
CanPauseAndContinue : False
CanShutdown         : False
CanStop             : True
ServiceType         : Win32OwnProcess

Name                : AeLookupSvc
DisplayName         : Application Experience
Status              : Running
DependentServices   : {}
ServicesDependedOn  : {}
CanPauseAndContinue : False
CanShutdown         : False
CanStop             : True
ServiceType         : Win32ShareProcess

Name                : AgereModemAudio
DisplayName         : Agere Modem Call Progress Audio
Status              : Running
DependentServices   : {}
ServicesDependedOn  : {}
CanPauseAndContinue : False
CanShutdown         : False
CanStop             : True
ServiceType         : Win32OwnProcess
...

Liste Görünümünü Tanımlama

Aşağıdaki XML, System.Serviceprocess.Servicecontroller?Displayproperty=Fullname nesnesinin çeşitli özelliklerini görüntülemek için liste görünümü şemasını gösterir. Liste görünümünde görüntülenmesini istediğiniz her özelliği belirtmeniz gerekir.

<View>
  <Name>System.ServiceProcess.ServiceController</Name>
  <ViewSelectedBy>
    <TypeName>System.ServiceProcess.ServiceController</TypeName>
  </ViewSelectedBy>
  <ListControl>
    <ListEntries>
      <ListEntry>
        <ListItems>
          <ListItem>
            <PropertyName>Name</PropertyName>
          </ListItem>
          <ListItem>
            <PropertyName>DisplayName</PropertyName>
          </ListItem>
          <ListItem>
            <PropertyName>Status</PropertyName>
          </ListItem>
          <ListItem>
            <PropertyName>ServiceType</PropertyName>
          </ListItem>
        </ListItems>
      </ListEntry>
    </ListEntries>
  </ListControl>
</View>

Liste görünümünü tanımlamak için aşağıdaki XML öğeleri kullanılır:

  • Görünüm öğesi, liste görünümünün ana öğesidir. (Bu, tablo, geniş ve özel kontrol görünümleri için aynı ana öğedir.)

  • Name öğesi görünümün adını belirtir. Bu öğe tüm görünümler için gereklidir.

  • ViewSelectedBy öğesi, görünümü kullanan nesneleri tanımlar. Bu öğe gereklidir.

  • GroupBy öğesi, yeni bir nesne grubunun ne zaman görüntüleneceğini tanımlar. Belirli bir özelliğin veya komut dosyasının değeri değiştiğinde yeni bir grup başlatılır. Bu öğe isteğe bağlıdır.

  • Kontroller öğesi, liste görünümü tarafından tanımlanan özel kontrolleri tanımlar. Kontroller size verilerin nasıl görüntüleneceğini daha ayrıntılı olarak belirtmenin bir yolunu sunar. Bu öğe isteğe bağlıdır. Bir görünüm kendi özel kontrollerini tanımlayabilir veya biçimlendirme dosyasındaki herhangi bir görünüm tarafından kullanılabilen ortak kontrolleri kullanabilir. Özel denetimler hakkında daha fazla bilgi için bkz. Özel Denetimler Oluşturma.

  • ListControl öğesi, görünümde neyin görüntüleneceğini ve nasıl biçimlendirileceğini tanımlar. Diğer tüm görünümlere benzer şekilde, liste görünümü de nesne özelliklerinin değerlerini veya komut dosyası tarafından oluşturulan değerleri görüntüleyebilir.

Basit bir liste görünümünü tanımlayan eksiksiz bir biçimlendirme dosyası örneği için bkz. Liste Görünümü (Temel).

Liste Görünümünüz için Tanımlar Sağlama

Liste görünümleri ListControl öğesinin alt öğelerini kullanarak bir veya daha fazla tanım sağlayabilir. Tipik olarak bir görünümün yalnızca bir tanımı olacaktır. Aşağıdaki örnekte görünüm, System.Diagnostics.Process?Displayproperty=Fullname nesnesinin çeşitli özelliklerini görüntüleyen tek bir tanım sağlar. Liste görünümü, bir özelliğin değerini veya bir komut dosyasının değerini (örnekte gösterilmemiştir) görüntüleyebilir.

<ListControl>
    <ListEntries>
      <ListEntry>
        <ListItems>
          <ListItem>
            <PropertyName>Name</PropertyName>
          </ListItem>
          <ListItem>
            <PropertyName>DisplayName</PropertyName>
          </ListItem>
          <ListItem>
            <PropertyName>Status</PropertyName>
          </ListItem>
          <ListItem>
            <PropertyName>ServiceType</PropertyName>
          </ListItem>
        </ListItems>
      </ListEntry>
    </ListEntries>
  </ListControl>

Liste görünümüne yönelik tanımları sağlamak için aşağıdaki XML öğeleri kullanılabilir:

  • ListControl öğesi ve onun alt öğeleri, görünümde neyin görüntüleneceğini tanımlar.

  • ListEntries öğesi görünümün tanımlarını sağlar. Çoğu durumda bir görünümün yalnızca tek bir tanımı olacaktır. Bu öğe gereklidir.

  • ListEntry öğesi görünümün tanımını sağlar. En az bir ListEntry gereklidir; ancak ekleyebileceğiniz öğe sayısında maksimum bir sınır yoktur. Çoğu durumda bir görünümün yalnızca tek bir tanımı olacaktır.

  • EntrySelectedBy öğesi, belirli bir tanımla görüntülenen nesneleri belirtir. Bu öğe isteğe bağlıdır ve yalnızca farklı nesneleri görüntüleyen birden çok ListEntry öğesi tanımladığınızda gereklidir.

  • ListItems öğesi, değerleri liste görünümünün satırlarında görüntülenen özellikleri ve komut dosyalarını belirtir.

  • ListItem öğesi, değeri liste görünümünün bir satırında görüntülenen bir özelliği veya komut dosyasını belirtir. Liste görünümünde en az bir özellik veya komut dosyası belirtilmelidir. Belirlenebilecek satır sayısında maksimum bir sınır yoktur.

  • PropertyName öğesi, değeri satırda görüntülenen özelliği belirtir. Bir özellik ya da komut dosyası belirtmelisiniz ancak ikisini birden belirtemezsiniz.

  • ScriptBlock öğesi, değeri satırda görüntülenen betiği belirtir. Bir komut dosyası veya bir özellik belirtmeniz gerekir ancak ikisini birden belirtemezsiniz.

  • Label öğesi, satırdaki özelliğin veya kod değerinin solunda görüntülenen etiketi belirtir. Bu öğe isteğe bağlıdır. Bir etiket belirtilmezse özelliğin veya komut dosyasının adı görüntülenir. Tam bir örnek için bkz. Liste Görünümü (Etiketler).

  • ItemSelectionCondition öğesi, satırın görüntülenmesi için mevcut olması gereken bir koşulu belirtir. Liste görünümüne koşul ekleme hakkında daha fazla bilgi için bkz. Verileri Görüntülemek için Koşulları Tanımlama. Bu öğe isteğe bağlıdır.

  • FormatString öğesi, özelliğin veya betiğin değerini görüntülemek için kullanılan bir modeli belirtir. Bu öğe isteğe bağlıdır.

Basit bir liste görünümünü tanımlayan eksiksiz bir biçimlendirme dosyası örneği için bkz. Liste Görünümü (Temel).

Liste Görünümünü Kullanan Nesneleri Tanımlama

Hangi .NET nesnelerinin liste görünümünü kullanacağını tanımlamanın iki yolu vardır. Görünümün tüm tanımları tarafından görüntülenebilecek nesneleri tanımlamak için ViewSelectedBy öğesini kullanabilirsiniz veya görünümün belirli bir tanımıyla hangi nesnelerin görüntüleneceğini tanımlamak için EntrySelectedBy öğesini kullanabilirsiniz. Çoğu durumda, bir görünümün yalnızca bir tanımı vardır, dolayısıyla nesneler genellikle ViewSelectedBy öğesi tarafından tanımlanır.

Aşağıdaki örnek, ViewSelectedBy ve TypeName öğeleri kullanılarak liste görünümü tarafından görüntülenen nesnelerin nasıl tanımlanacağını gösterir. Belirtebileceğiniz TypeName öğelerinin sayısında herhangi bir sınırlama yoktur ve bunların sırası önemli değildir.

<View>
  <Name>System.ServiceProcess.ServiceController</Name>
  <ViewSelectedBy>
    <TypeName>System.Diagnostics.Process</TypeName>
  </ViewSelectedBy>
  <ListControl>...</ListControl>
</View>

Liste görünümü tarafından kullanılan nesneleri belirtmek için aşağıdaki XML öğeleri kullanılabilir:

  • ViewSelectedBy öğesi, liste görünümü tarafından hangi nesnelerin görüntüleneceğini tanımlar.

  • TypeName öğesi, görünüm tarafından görüntülenen .NET nesnesini belirtir. Tam nitelikli .NET türü adı gereklidir. Görünüm için en az bir tür veya seçim kümesi belirtmeniz gerekir ancak belirtilebilecek maksimum öğe sayısı yoktur.

Tam bir biçimlendirme dosyası örneği için bkz. Liste Görünümü (Temel).

Aşağıdaki örnekte ViewSelectedBy ve SelectionSetName öğeleri kullanılmaktadır. Aynı nesneler için bir liste görünümü ve tablo görünümü tanımladığınızda olduğu gibi, birden çok görünüm kullanılarak görüntülenen ilgili bir nesne kümesinin bulunduğu seçim kümelerini kullanın. Seçim kümesinin nasıl oluşturulacağı hakkında daha fazla bilgi için bkz. Seçim Kümelerini Tanımlama.

<View>
  <Name>System.ServiceProcess.ServiceController</Name>
  <ViewSelectedBy>
    <SelectionSetName>.NET Type Set</SelectionSetName>
  </ViewSelectedBy>
  <ListControl>...</ListControl>
</View>

Liste görünümü tarafından kullanılan nesneleri belirtmek için aşağıdaki XML öğeleri kullanılabilir:

  • ViewSelectedBy öğesi, liste görünümü tarafından hangi nesnelerin görüntüleneceğini tanımlar.

  • SelectionSetName öğesi, görünüm tarafından görüntülenebilecek bir dizi nesneyi belirtir. Görünüm için en az bir seçim kümesi veya türü belirtmeniz gerekir ancak belirtilebilecek maksimum öğe sayısı yoktur.

Aşağıdaki örnek, EntrySelectedBy öğesi kullanılarak liste görünümünün belirli bir tanımıyla görüntülenen nesnelerin nasıl tanımlanacağını gösterir. Bu öğeyi kullanarak nesnenin .NET türü adını, nesnelerin seçim kümesini veya tanımın ne zaman kullanılacağını belirten bir seçim koşulunu belirtebilirsiniz. Seçim koşullarının nasıl oluşturulacağı hakkında daha fazla bilgi için bkz. Verileri Görüntülemek için Koşulları Tanımlama.

<ListEntry>
  <EntrySelectedBy>
    <TypeName>.NET Type</TypeName>
  </EntrySelectedBy>
</ListEntry>

Liste görünümünün belirli bir tanımı tarafından kullanılan nesneleri belirtmek için aşağıdaki XML öğeleri kullanılabilir:

  • EntrySelectedBy öğesi, tanım tarafından hangi nesnelerin görüntüleneceğini tanımlar.

  • TypeName öğesi, tanım tarafından görüntülenen .NET nesnesini belirtir. Bu öğeyi kullanırken tam nitelikli .NET tür adı gereklidir. Tanım için en az bir tür, seçim kümesi veya seçim koşulu belirtmeniz gerekir ancak belirtilebilecek maksimum öğe sayısı yoktur.

  • SelectionSetName öğesi (gösterilmemiştir), bu tanımla görüntülenebilecek bir dizi nesneyi belirtir. Tanım için en az bir tür, seçim kümesi veya seçim koşulu belirtmeniz gerekir ancak belirtilebilecek maksimum öğe sayısı yoktur.

  • SelectionCondition öğesi (gösterilmemiştir), bu tanımın kullanılması için mevcut olması gereken bir koşulu belirtir. Tanım için en az bir tür, seçim kümesi veya seçim koşulu belirtmeniz gerekir ancak belirtilebilecek maksimum öğe sayısı yoktur. Seçim koşullarını tanımlama hakkında daha fazla bilgi için bkz. Verileri Görüntülemek için Koşulları Tanımlama.

Nesne Gruplarını Liste Görünümünde Görüntüleme

Liste görünümünde görüntülenen nesneleri gruplara ayırabilirsiniz. Bu, bir grup tanımladığınız anlamına gelmez; yalnızca belirli bir özelliğin veya betiğin değeri değiştiğinde Windows PowerShell'in yeni bir grup başlattığı anlamına gelir. Aşağıdaki örnekte, System.Serviceprocess.Servicecontroller.Servicetype özelliğinin değeri her değiştiğinde yeni bir grup başlatılır.

<GroupBy>
  <Label>Service Type</Label>
  <PropertyName>ServiceType</PropertyName>
</GroupBy>

Bir grubun ne zaman başlatıldığını tanımlamak için aşağıdaki XML öğeleri kullanılır:

  • GroupBy öğesi, yeni grubu başlatan özelliği veya betiği tanımlar ve grubun nasıl görüntüleneceğini tanımlar.

  • PropertyName öğesi, değeri değiştiğinde yeni bir grup başlatan özelliği belirtir. Grubu başlatmak için bir özellik veya komut dosyası belirtmeniz gerekir ancak ikisini birden belirtemezsiniz.

  • ScriptBlock öğesi, değeri değiştiğinde yeni bir grup başlatan betiği belirtir. Grubu başlatmak için bir komut dosyası veya özellik belirtmeniz gerekir ancak ikisini birden belirtemezsiniz.

  • Label öğesi, her grubun başında görüntülenen bir etiketi tanımlar. Bu öğe tarafından belirtilen metne ek olarak Windows PowerShell, yeni grubu tetikleyen değeri görüntüler ve etiketin önüne ve arkasına boş bir satır ekler. Bu öğe isteğe bağlıdır.

  • CustomControl öğesi, verileri görüntülemek için kullanılan bir denetimi tanımlar. Bu öğe isteğe bağlıdır.

  • CustomControlName öğesi, verileri görüntülemek için kullanılan ortak veya görünüm denetimini belirtir. Bu öğe isteğe bağlıdır.

Grupları tanımlayan eksiksiz bir biçimlendirme dosyası örneği için bkz. Liste Görünümü (GroupBy).

Biçim Dizelerini Kullanma

Verilerin nasıl görüntüleneceğini daha ayrıntılı olarak tanımlamak için görünüme biçimlendirme dizeleri eklenebilir. Aşağıdaki örnek, StartTime özelliğinin değeri için bir biçimlendirme dizesinin nasıl tanımlanacağını gösterir.

<ListItem>
  <PropertyName>StartTime</PropertyName>
  <FormatString>{0:MMM} {0:DD} {0:HH}:{0:MM}</FormatString>
</ListItem>

Bir format modelini belirtmek için aşağıdaki XML öğeleri kullanılabilir:

  • ListItem öğesi, görünüm tarafından görüntülenen verileri belirtir.

  • PropertyName öğesi, değeri görünüm tarafından görüntülenen özelliği belirtir. Bir özellik ya da komut dosyası belirtmelisiniz ancak ikisini birden belirtemezsiniz.

  • FormatString öğesi, özelliğin veya kod değerinin görünümde nasıl görüntüleneceğini tanımlayan bir biçim modelini belirtir.

  • ScriptBlock öğesi (gösterilmemiştir), değeri görünüm tarafından görüntülenen betiği belirtir. Bir komut dosyası veya bir özellik belirtmeniz gerekir ancak ikisini birden belirtemezsiniz.

Aşağıdaki örnekte betiğin değerini biçimlendirmek için ToString yöntemi çağrıldı. Komut dosyaları bir nesnenin herhangi bir yöntemini çağırabilir. Bu nedenle, bir nesnenin biçimlendirme parametrelerine sahip ToString gibi bir yöntemi varsa, komut dosyası, betiğin çıkış değerini biçimlendirmek için bu yöntemi çağırabilir.

<ListItem>
  <ScriptBlock>
    [String]::Format("{0,-10} {1,-8}", $_.LastWriteTime.ToString("d"), $_.LastWriteTime.ToString("t"))
  </ScriptBlock>
</ListItem>

ToString yöntemini çağırmak için aşağıdaki XML öğesi kullanılabilir:

  • ListItem öğesi, görünüm tarafından görüntülenen verileri belirtir.

  • ScriptBlock öğesi (gösterilmemiştir), değeri görünüm tarafından görüntülenen betiği belirtir. Bir komut dosyası veya bir özellik belirtmeniz gerekir ancak ikisini birden belirtemezsiniz.

Ayrıca Bakınız

Windows PowerShell Cmdlet'i Yazma

İlgili makaleler