Aracılığıyla paylaş


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

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

Liste Görünümü Görünümü

Aşağıdaki çıktıda, Windows PowerShell'in Get-Service cmdlet'i tarafından döndürülen System.ServiceProcess.ServiceController nesnelerinin özelliklerini nasıl görüntülediği gösterilmektedir. Bu örnekte, her nesne önceki nesneden boş bir satırla ayrılmış olarak üç 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 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 üst öğesidir. (Bu tablo, geniş ve özel denetim görünümleri için aynı üst öğedir.)

  • Adı öğ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 betiğin değeri her değiştiğinde yeni bir grup başlatılır. Bu öğe isteğe bağlıdır.

  • Denetimleri öğesi, liste görünümü tarafından tanımlanan özel denetimleri tanımlar. Denetimler, verilerin nasıl görüntüleneceğini daha fazla belirtmeniz için size bir yol sağlar. Bu öğe isteğe bağlıdır. Görünüm kendi özel denetimlerini tanımlayabilir veya biçimlendirme dosyasındaki herhangi bir görünüm tarafından kullanılabilecek ortak denetimleri kullanabilir. Özel denetimler hakkında daha fazla bilgi için bkz. Özel Denetim oluşturma.

  • ListControl öğesi, görünümde görüntülenen öğeleri ve nasıl biçimlendirildiğini tanımlar. Diğer tüm görünümlere benzer şekilde, liste görünümü de betik tarafından oluşturulan nesne özelliklerinin veya değerlerinin değerlerini 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. Genellikle, bir görünümün tek bir tanımı olur. Aşağıdaki örnekte görünüm, System.Diagnostics.Process 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 betiğin değerini görüntüleyebilir (örnekte gösterilmez).

<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ü tanımları sağlamak için aşağıdaki XML öğeleri kullanılabilir:

  • ListControl öğesi ve alt öğeleri görünümde görüntülenen öğeleri tanımlar.

  • ListEntries öğesi görünümün tanımlarını sağlar. Çoğu durumda, bir görünümün tek bir tanımı olur. 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ı için üst sınır yoktur. Çoğu durumda, bir görünümün tek bir tanımı olur.

  • EntrySelectedBy öğesi, belirli bir tanım tarafından görüntülenen nesneleri belirtir. Bu öğe isteğe bağlıdır ve yalnızca farklı nesneler 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 betikleri belirtir.

  • ListItem öğesi, değeri liste görünümünün bir satırında görüntülenen bir özelliği veya betiği belirtir. Liste görünümü en az bir özellik veya betik belirtmelidir. Belirtilebilen satır sayısı için üst sınır yoktur.

  • PropertyName öğesi, değeri satırda görüntülenen özelliği belirtir. Bir özellik veya betik belirtmeniz gerekir, ancak ikisini birden belirtemezsiniz.

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

  • Label öğesi, satırdaki özellik veya betik değerinin solunda görüntülenen etiketi belirtir. Bu öğe isteğe bağlıdır. Bir etiket belirtilmezse, özelliğin adı veya betiği 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 var olması gereken bir koşulu belirtir. Liste görünümüne koşul ekleme hakkında daha fazla bilgi için bkz. VeriGö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 deseni 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

Liste görünümünü hangi .NET nesnelerinin kullandığını tanımlamanın iki yolu vardır. görünümün tüm tanımları tarafından görüntülenebilen nesneleri tanımlamak için ViewSelectedBy öğesini kullanabilir 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 tek bir tanımı vardır, bu nedenle nesneler genellikle ViewSelectedBy öğesi tarafından tanımlanır.

Aşağıdaki örnekte, ViewSelectedBy ve TypeName öğeleri kullanılarak liste görünümü tarafından görüntülenen nesnelerin nasıl tanımlanacağı gösterilmektedir. Belirtebileceğiniz TypeName öğelerinin sayısıyla ilgili bir sınır 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 .NET türü adı gereklidir. Görünüm için en az bir tür veya seçim kümesi belirtmeniz gerekir, ancak belirtilebilen en fazla öğe sayısı yoktur.

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

Aşağıdaki örnek, ViewSelectedBy ve SelectionSetName öğelerini kullanır. Bir liste görünümü ve aynı nesneler için 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ümeniz olan seçim kümelerini kullanın. Seçim kümesi oluşturma 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ülenebilen bir nesne kümesini belirtir. Görünüm için en az bir seçim kümesi veya tür belirtmeniz gerekir, ancak belirtilebilen en fazla öğe sayısı yoktur.

Aşağıdaki örnekte, EntrySelectedBy öğesi kullanılarak liste görünümünün belirli bir tanımı tarafından görüntülenen nesnelerin nasıl tanımlanacağı gösterilmektedir. Bu öğeyi kullanarak nesnenin .NET tür adını, bir nesne seçim kümesini veya tanımın ne zaman kullanılacağını belirten bir seçim koşulu belirtebilirsiniz. Seçim koşulları oluşturma hakkında daha fazla bilgi için bkz. veri 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 öğe kullanılırken, tam .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 belirtilebilen en fazla öğe sayısı yoktur.

  • SelectionSetName öğesi (gösterilmez), bu tanım tarafından görüntülenebilen bir nesne kümesi belirtir. Tanım için en az bir tür, seçim kümesi veya seçim koşulu belirtmeniz gerekir, ancak belirtilebilen en fazla öğe sayısı yoktur.

  • SelectionCondition öğesi (gösterilmez), bu tanımın kullanılabilmesi için var 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 belirtilebilen en fazla öğe sayısı yoktur. Seçim koşullarını tanımlama hakkında daha fazla bilgi için bkz. VeriGörüntülemek için Koşulları Tanımlama .

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

Liste görünümü tarafından 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 gelmez. 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ılacağı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 her değiştiğinde yeni bir grup başlatan özelliği belirtir. Grubu başlatmak için bir özellik veya betik belirtmeniz gerekir, ancak ikisini birden belirtemezsiniz.

  • ScriptBlock öğesi, değeri her değiştiğinde yeni bir grup başlatan betiği belirtir. Grubu başlatmak için bir betik 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ı tanımlamak için görünüme biçimlendirme dizeleri eklenebilir. Aşağıdaki örnekte, StartTime özelliğinin değeri için biçimlendirme dizesinin nasıl tanımlanacağı gösterilmektedir.

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

Biçim deseni 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ğini belirtir. Bir özellik veya betik belirtmeniz gerekir, ancak ikisini birden belirtemezsiniz.

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

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

Aşağıdaki örnekte, betiğin değerini biçimlendirmek için ToString yöntemi çağrılır. Betikler bir nesnenin herhangi bir yöntemini çağırabilir. Bu nedenle, bir nesnenin biçimlendirme parametreleri olan ToStringgibi bir yöntemi varsa, 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>

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

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

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

Ayrıca Bkz.

Windows PowerShell Cmdlet'i yazma