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

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

Liste görünümü görüntüleme

aşağıdaki çıktıda, Windows PowerShell System. serviceprocess. servicecontroller özelliklerinin nasıl görüntülendiği gösterilmektedir. , Get-Service cmdlet 'i tarafından döndürülen DisplayProperty = FullName nesneleri. Bu örnekte, her bir nesne önceki nesneden boş bir satır ile ayrılmış olan üç nesne döndürülür.

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 'ın çeşitli özelliklerini görüntülemek için liste görünümü şemasını gösterir. DisplayProperty = FullName nesnesi. Liste görünümünde görüntülenmesini istediğiniz her bir ö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>

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

  • View öğ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.)

  • 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 grubu görüntülendiğinde tanımlar. Belirli bir özellik veya betiğin değeri değiştiğinde yeni bir grup başlatılır. Bu öğe isteğe bağlıdır.

  • Controls öğesi liste görünümü tarafından tanımlanan özel denetimleri tanımlar. Denetimler, verilerin nasıl görüntülendiğini daha fazla belirtmek için bir yol sağlar. Bu öğe isteğe bağlıdır. Bir görünüm kendi özel denetimlerini tanımlayabilir veya biçimlendirme dosyasındaki herhangi bir görünüm tarafından kullanılabilen ortak denetimleri 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ülendiğini ve nasıl biçimlendirileceğini tanımlar. Diğer tüm görünümlere benzer şekilde, liste görünümü nesne özelliklerinin veya betik tarafından oluşturulan değerlerin değerlerini görüntüleyebilir.

Basit liste görünümünü tanımlayan bir bütün biçimlendirme dosyası örneği için bkz. liste görünümü (temel).

Liste görünümlerinizin tanımlarını 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 yalnızca bir tanıma sahip olur. Aşağıdaki örnekte, görünümü System. Diagnostics. Process 'in çeşitli özelliklerini görüntüleyen tek bir tanım sağlar. DisplayProperty = FullName nesnesi. Liste görünümü bir özelliğin değerini veya bir komut dosyası 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>

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

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

  • Listentries öğesi görünümün tanımlarını sağlar. Çoğu durumda, bir görünüm yalnızca bir tanıma sahip 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 yalnızca bir tanıma sahip 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ı nesneleri görüntüleyen birden çok Listentry öğesi tanımladığınızda gereklidir.

  • ListItems öğesi, değerleri liste görünümündeki satırlarda görüntülenen özellikleri ve betikleri belirler.

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

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

  • ScriptBlock öğesi, değeri satırda görünen betiği belirtir. Bir betik ya da özellik belirtmelisiniz, ancak ikisini birden belirtemezsiniz.

  • Label öğesi, satırdaki özelliğin veya betik değerinin solunda görüntülenen etiketi belirtir. Bu öğe isteğe bağlıdır. Bir etiket belirtilmemişse, özelliğin adı veya betiği görüntülenir. Tüm bir örnek için bkz. liste görünümü (Etiketler).

  • Itemselectioncondition öğesi, görüntülenecek satır için 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östermek için kullanılan bir model belirtir. Bu öğe isteğe bağlıdır.

Basit liste görünümünü tanımlayan bir bütün 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ü kullanın tanımlanması için iki yol 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 bir görünümün belirli bir tanımına göre hangi nesnelerin görüntülendiğini tanımlamak Için entryselectedby öğesini kullanabilirsiniz. Çoğu durumda, bir görünüm yalnızca bir tanıma sahiptir, bu yüzden 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ı için 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>

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

  • Viewselectedby öğesi liste görünümü tarafından hangi nesnelerin görüntülendiğ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 belirtmelisiniz, ancak belirtime izin verilen en fazla öğe sayısı yok.

Biçimlendirme dosyasının tamamını bir örnek için bkz. liste görünümü (temel).

Aşağıdaki örnek, Viewselectedby ve selectionsetname öğelerini kullanı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ümesine sahip olduğunuz 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>

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

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

  • Selectionsetname öğesi, görünüm tarafından görüntülenebilen bir nesne kümesi belirtir. Görünüm için en az bir seçim kümesi veya tür belirtmeniz gerekir, ancak belirtime en fazla sayıda öğe yok.

Aşağıdaki örnek, List görünümünün özel bir tanımı tarafından gösterilen nesnelerin Entryselectedby öğesi kullanılarak nasıl tanımlanacağını gösterir. Bu öğeyi kullanarak, nesnenin .NET tür adını, bir nesne seçim kümesini veya tanımın ne zaman kullanıldığını belirten bir seçim koşulunu belirtebilirsiniz. Seçim koşulları oluşturma 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>

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

  • Entryselectedby öğesi, tanım tarafından hangi nesnelerin görüntülendiğ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 belirtilebileceğiniz en fazla sayıda öğe yok.

  • 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 belirtilebileceğiniz en fazla sayıda öğe yok.

  • Selectioncondition öğesi (gösterilmez) Bu tanım için kullanılması 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 belirtilebileceğiniz en fazla sayıda öğe yok. 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.

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 gruplar halinde ayırabilirsiniz. bu, bir grubu tanımladığınız anlamına gelmez; yalnızca belirli bir özellik veya betik değeri değiştiğinde Windows PowerShell yeni bir grup başlatır. Aşağıdaki örnekte, System. ServiceProcess. ServiceController. ServiceType özelliğinin değeri değiştiğinde yeni bir grup başlatılır.

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

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

  • GroupBy öğesi, yeni grubu Başlatan özelliği veya betiği tanımlar ve grubun nasıl görüntülendiğ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 her ikisini de 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şlangıcında görüntülenen bir etiketi tanımlar. bu öğe tarafından belirtilen metnin yanı sıra, Windows PowerShell yeni grubu tetikleyen değeri görüntüler ve etiketten önce ve sonra boş bir satır ekler. Bu öğe isteğe bağlıdır.

  • CustomControl öğesi, verileri göstermek 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 bir bütün biçimlendirme dosyası örneği için bkz. liste görünümü (GroupBy).

Biçim dizelerini kullanma

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

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

Aşağıdaki XML öğeleri bir biçim deseninin belirtilmesi için kullanılabilir:

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

  • PropertyName öğesi, değeri görünüm tarafından görüntülenecek olan özelliği belirtir. Bir özellik veya betik belirtmeniz gerekir, ancak her ikisini de belirtemezsiniz.

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

  • ScriptBlock öğesi (gösterilmez), değeri görünüm tarafından gösterilen betiği belirtir. Bir betik ya da özellik belirtmelisiniz, ancak ikisini birden belirtemezsiniz.

Aşağıdaki örnekte, ToString yöntemi betiğin değerini biçimlendirmek için çağırılır. Betikler, bir nesnenin herhangi bir yöntemini çağırabilir. Bu nedenle, bir nesnesi gibi bir yöntemi varsa (örneğin ToString , biçimlendirme parametrelerine sahiptir) betik, 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 yöntemi çağırmak için kullanılabilir ToString :

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

  • ScriptBlock öğesi (gösterilmez), değeri görünüm tarafından gösterilen betiği belirtir. Bir betik ya da özellik belirtmelisiniz, ancak ikisini birden belirtemezsiniz.

Ayrıca Bkz.

Windows PowerShell Cmdlet’ini Yazma