Share via


Design the work item form

Wenn Sie ein Arbeitsaufgabenformular entwerfen, sollten die Felder in dem Formular so positioniert werden, dass Sie den Dateneintrag und die Workflowprozesse unterstützen, auf die die Teammitglieder folgen. Wenn Sie zu einem vorhandenen Formular nur ein paar Felder hinzufügen, müssen Sie angeben, wo sie auf dem Formular hinzugefügt werden sollen. Wenn Sie mehrere Felder hinzufügen, um eine neue nachzuverfolgende Datensammlung hinzuzufügen, möchten Sie vielleicht eine neue Registerkarte hinzufügen, die nur diese Felder enthält. Damit Sie in einem Formular weniger Scrollen müssen, können Sie Felder oben im Formular oder auf der Registerkarte in mehreren Spalten gruppieren.

Wenn Sie einen neuen Arbeitsaufgabentyp hinzufügen, möchten Sie möglicherweise einen vorhandenen Typ kopieren und ihn ändern, damit die Felder und der Workflowprozess angezeigt wird, der den neuen Typ unterstützt.

Beachten Sie beim Entwerfen des Layouts folgende Tipps, um die besten Ergebnisse zu erzielen:

  • Positionieren Sie die Felder oben im Formular, auf die sich Teammitglieder häufig beziehen oder oft aktualisieren.

  • Positionieren Sie Felder auf einer Registerkarte, auf die sich nur wenige Teammitglieder häufig beziehen oder oft aktualisieren. Steuerelemente, die beispielsweise Arbeitsaufgaben verknüpfen oder Dateien anhängen, werden in der Regel auf separaten Registerkarten angeordnet.

  • Gruppieren Sie Felder in Spalten, um die Anzeige der Datenfelder zu vergrößern. Sie können oben im Formular oder auf einer Registerkarte Spalten verwenden. Sie können Registerkarten auf in einem mehrspaltigen Format anzeigen.

  • Verwenden Sie ein oder mehrere Link-Steuerelemente auf separaten Registerkarten oder auf derselben Registerkarte, um die Linktypen einzuschränken, die zwischen Arbeitsaufgabentypenfeldern erstellt werden können.

Weitere Informationen zum Exportieren, Importieren und Prüfen von Arbeitsaufgabenformularänderungen finden Sie unter Ändern des Formularlayouts von Arbeitsaufgaben.

In diesem Thema

  • Segmentieren des Formulars in Bereiche

  • Arbeiten mit Registerkarten

  • Gruppieren von Feldern

  • Anpassen der Größe von Spalten

  • Verwenden eines Splitters zur Unterstützung der variablen Spaltengröße

  • Steuern der Größe des Formulars und der Formularelemente

  • Angeben von verschiedenen Layouts für verschiedene Ziele

Segmentieren des Formulars in Bereiche

Verwenden Sie Layoutelemente zum Segmentieren Ihres Arbeitsaufgabenformulars in verschiedene Bereiche, zum Gruppieren zusammengehöriger Felder und zum Zuordnen von Platz auf dem Formular entsprechend der Dateneintragsanforderungen. In der folgenden Tabelle werden die Elemente beschrieben, die zum Segmentieren des Formulars in verschiedene Bereiche verwendet werden.

Element

Beschreibung

FORM

Enthält die Layout-Elemente, die die Anzeige der Felder und Steuerelemente für den Arbeitsaufgabentyp angeben.

Layout

Enthält alle Elemente, die die Anzeige der Felder und Steuerelemente für ein bestimmtes Ziel angeben. Sie können verschiedene Layouts für verschiedene Ziele angeben, z. B. Visual Studio oder Team Web Access. Untergeordnete Elemente, die Sie in einem Layout-Element angeben können, umfassen Control, Group-, TabGroup- und Splitter-Elemente.

Group

Clustert untergeordnete Elemente in dem Formular. Eine Gruppe ist visuell durch einen Rahmen und eine optionale Kennzeichnung getrennt. Gruppen, die die in einem XML-Stapel nebeneinander definiert sind, sind im angezeigten Formular vertikal geteilt. Sie können das Column-Element als untergeordnetes Elemente eines Group-Elements angeben.

Column

Behält alle untergeordneten Elemente in einer vertikalen Spalte oder teilt ein Formular vertikal. Spalten müssen in einer Group angezeigt werden. Group-Elements in Column-Elemente können verwendet werden, um geschachtelte Bereiche zu erstellen. Standardmäßig teilen Spalten eine Group gleichmäßig. Sie können ein optionales Breitenattribut in Prozent angeben, um einer oder mehreren Spalten mehr Platz zuzuordnen.

Untergeordnete Elemente, die Sie in einem Column-Element angeben können, umfassen Control, Group-, TabGroup- und Splitter-Elemente.

Splitter

Damit können Benutzer die Größe und Breite ändern, die zwei Spalten in einem Formular zugeordnet ist.

Tab

Fügt verschiedene Registerkarten zu einem Formular hinzu, um die Anzeige zusätzlicher Felder und Steuerelemente zu unterstützen. Untergeordnete Elemente, die Sie in einem Tab-Element angeben können, umfassen Control, Group-, TabGroup- und Splitter-Elemente.

TabGroup

Enthält eine Gruppe von TAB-Elementen. In der Regel fügen Sie Registerkarten einer einzelnen Registerkartengruppe zu. Sie können jedoch zwei oder mehr Registerkartengruppen vertikal in einem Formular stapeln.

Die folgende Abbildung zeigt ein Formular, dessen oberer Bereich acht Felder anzeigt, die grob in zwei Spalten angeordnet werden. Der untere Teil zeigt zwei Sätze von drei Registerkarten an, die in einem Zweispalten-Layout angeordnet sind.

Benutzerdefiniertes Formular mit drei Registerkarten in einem Zweispalten-Layout

Benutzerdefiniertes Arbeitsaufgabenformular

Oberer Bereich des Formulars

Der folgende Code definiert den oberen Bereich des Formulars. Sie können bei Bedarf Spalten hinzufügen. Wie in diesem Beispiel zu sehen ist, enthält die erste Spalte, die 70 Prozent der Formularbreite einnimmt, zwei Feldergruppen enthält. Die zweite Feldergruppe, die PU (Bereichspfad verwenden)- und Priority-Felder enthält, ist in einem Zweispalten-Layout definiert. Die zweite Spalte erstreckt sich über die verbleibenden 30 Prozent des Formulars. Beim Verändern der Größe des Formulars variieren die Bereiche, die den Spalten zugeordnet sind, proportional.

<FORM>
      <Layout>
        <Group>
          <Column PercentWidth="70">
            <Group>
              <Column PercentWidth="100">
                <Control FieldName="System.Title" Type="FieldControl" Label="Title" LabelPosition="Left" />
                <Control FieldName="System.AreaPath" Type="WorkItemClassificationControl" Label="Area Path" LabelPosition="Left" />
                <Control FieldName="System.IterationPath" Type="WorkItemClassificationControl" Label="&amp;Iteration Path:" LabelPosition="Left" />
                <Group>
                  <Column PercentWidth="50">
                    <Control FieldName="Microsoft.VSTS.Common.ProductUnit" Type="FieldControl" Label="PU (Use Area Path)" LabelPosition="Left" />
                  </Column>
                  <Column PercentWidth="50">
                    <Control FieldName="Microsoft.VSTS.Common.Priority" Type="FieldControl" Label="Priority" LabelPosition="Left" />
                  </Column>
                </Group>
              </Column>
            </Group>
          </Column>
          <Column PercentWidth="30">
            <Group Label="Status">
              <Column PercentWidth="100">
                <Control FieldName="System.Id" Type="FieldControl" Label="Id" LabelPosition="Left" />
                <Control FieldName="System.State" Type="FieldControl" Label="State" LabelPosition="Left" />
                <Control FieldName="System.AssignedTo" Type="FieldControl" Label="Assigned To" LabelPosition="Left" />
              </Column>
            </Group>
          </Column>
        </Group>
        <Group Label="">
          <Column PercentWidth="60">
. . .
</Layout>
</FORM>

Arbeiten mit Registerkarten

Sie verwenden Registerkarten zum Clustern einer Feldergruppe oder zum Unterstützen einer oder mehrerer spezieller Steuerelemente wie z. B. Speicherelemente, mit denen Arbeitsaufgaben oder der Arbeitsaufgabenverlauf verknüpft werden oder zum Anhängen von Dateien. Verschiedene Definitionen von Arbeitsaufgabentypen für Microsoft Solutions Framework (MSF)-Prozessvorlagen verwenden mehrere Registerkarten, um die Linktypen zu steuern, die basierend auf dem Linktyp erstellt werden können. Weitere Informationen finden Sie unter Arbeitsaufgabentypen und Workflow für Agile-Prozessvorlagen oder Arbeitsaufgabentypen und Workflow für CMMI-Prozessvorlagen.

Weitere Informationen zum verwenden der speziellen Steuerelemente finden Sie unter folgenden Themen:

Durch die Verwendung der Attribute, die in der folgenden Tabelle beschrieben sind, können Sie die Registerkarte benennen und den Textabstand und die Ränder, die die Anzahl der Pixel innerhalb und außerhalb des Rands des Registerkarten-Steuerelements steuern, angeben.

Attribut

Beschreibung

Label

Erforderlich. Text, der den Namen der Registerkartenseite angibt.

Margin

Dies ist optional. Gibt den Platz um die Registerkarte in Pixeln an.

Padding

Dies ist optional. Gibt den Platz um den äußeren und inneren Rahmen der Registerkarte in Pixeln an.

Sechs Registerkarten, die in einem Nebeneinander-Layout angeordnet sind

Benutzerdefiniertes Formular mit zwei Gruppen von 6 Registerkarten

Der folgende Code listet die Syntax auf, die zum Erstellen des Layouts verwendet wird, das in der vorherigen Abbildung dargestellt ist.

<FORM>
      <Layout>
        . . . 
            <TabGroup>
              <Tab Label="Planning">
                <Group Label="Status" Padding="(0,0,0,3)">
                  <Column PercentWidth="50">
                    <Control FieldName="Microsoft.DevDiv.Importance" Type="FieldControl" Label="Importance" LabelPosition="Left" />
                    <Control FieldName="Microsoft.DevDiv.Commitment" Type="FieldControl" Label="Commitment / Confidence" LabelPosition="Left" />
                    . . .
                  </Column>
                  <Column PercentWidth="50" />
                </Group>
                <Group>
                  <Column PercentWidth="100">
                    <Control FieldName="Microsoft.DevDiv.Story" Type="HtmlFieldControl" Label="Story Board" LabelPosition="Top" />
                  </Column>
                </Group>
                <Group>
                  <Column PercentWidth="100">
                    <Control FieldName="System.Description" Type="HtmlFieldControl" Label="Value Proposition Description" LabelPosition="Top" />
                  </Column>
                </Group>
              </Tab>
              <Tab Label="Marketing">
                <Group>
                  <Column PercentWidth="100">
                    <Control FieldName="Microsoft.DevDiv.MarketingOwner" Type="FieldControl" Label="Marketing Owner" LabelPosition="Top" />
                    <Control FieldName="Microsoft.DevDiv.MarketingDescription" Type="HtmlFieldControl" Label="Marketing Description" LabelPosition="Top" />
                  </Column>
                </Group>
              </Tab>
              <Tab Label="Relationships">
                <Control Type="LinksControl" Label="Pillars" LabelPosition="Top" Name="Pillars">
                  . . . 
                </Control>
                <Control Type="LinksControl" Label="Experiences - Feature Groups" LabelPosition="Top" Name="Experiences">
                  . . . 
                </Control>
                <Control Type="LinksControl" Label="Flags / Associations" LabelPosition="Top" Name="Flags">
                  . . . 
                </Control>
              </Tab>
            </TabGroup>
          </Column>
          <Column PercentWidth="40">
            <TabGroup>
              <Tab Label="History">
                <Control FieldName="System.History" Type="WorkItemLogControl" Label="Detailed Description and History" LabelPosition="Top" />
              </Tab>
              <Tab Label="Links">
                <Control Type="LinksControl" LabelPosition="Top" >
                  . . . 
                </Control>
              </Tab>
              <Tab Label="File Attachments">
                <Control Type="AttachmentsControl" LabelPosition="Top" />
              </Tab>
            </TabGroup>
          </Column>
        </Group>
      </Layout>
</FORM>

Gruppieren von Feldern

Sie verwenden das Group-Element, um Elemente visuell zu gruppieren, ähnlich wie bei der Windows GroupBox. Indem Sie die Attribute verwenden, die in der folgenden Tabelle beschrieben werden, können Sie jede Gruppe benennen und den Textabstand und die Ränder angeben, die die Anzahl der Pixel des inneren und äußeren Rahmens des Gruppenbereichs steuern. Auf das Group-Element sollte immer ein Column-Element folgen, selbst wenn die Gruppe nur eine Spalte aufweist.

Sie sollten das Group-Element als Container für Felder in einer Spalte und als Container für Spalten in einem segmentierten Bereich des Formulars verwenden. Sie können das Column-Element nur als untergeordnetes Element in einem Group-Element angeben.

Sie können den Abstand und die Größe des Gesamtformularlayouts steuern, indem Sie die Attribute angeben, die in der folgenden Tabelle beschrieben werden.

Attribut

Beschreibung

Label

Dies ist optional. Text, der den Namen der Gruppe angibt.

Margin

Dies ist optional. Gibt den Platz um die Gruppe und zwischen dem Steuerelement und den danebenliegenden Elementen in Pixeln an. Auf den einzelnen Seiten können unterschiedliche Abstände angegeben werden.

Padding

Dies ist optional. Gibt den Platz um den äußeren Rahmen der Gruppe in Pixeln an. Auf den einzelnen Seiten können unterschiedliche Abstände angegeben werden.

Gruppieren von Feldern, die auf einer Registerkarte angeordnet sind

Gruppe von mehreren Feldern

Der folgende Code enthält die Syntax zum Erstellen der in der vorherigen Abbildung dargestellte Gruppe von Feldern. Weitere Informationen zum Angeben von Feldern mithilfe des Control-Elements finden Sie unter Control the display of work item fields.

<TabGroup>
<Tab Label="Planning">
<Group Label="Status" Padding="(0,0,0,3)">
   <Column PercentWidth="5100">
      <Control FieldName="Microsoft.DevDiv.Importance" Type="FieldControl" Label="Importance" LabelPosition="Left" />
      <Control FieldName="Microsoft.DevDiv.Commitment" Type="FieldControl" Label="Commitment / Confidence" LabelPosition="Left" />
      <Control FieldName="Microsoft.DevDiv.VisionDoc" Type="FieldControl" Label="Vision Doc" LabelPosition="Left" />
      <Control FieldName="Microsoft.DeveloperDivision.Features.EstimatedCost" Type="FieldControl" Label="Estimated Cost" LabelPosition="Left" />
      <Control FieldName="Microsoft.DevDiv.BusinessUnit" Type="FieldControl" Label="BU (Use Area Path)" LabelPosition="Left" />
      <Control FieldName="Microsoft.DevDiv.Website" Type="FieldControl" Label="Website" LabelPosition="Left" />
   </Column>
</Group>
   . . .
</Tab>
</TabGroup>

Anpassen der Größe von Spalten

Sie können einen Bereich in einem Formular entwerfen, das zwei oder mehr Spalten aufweist. Sie können die Spaltenbreite als festen Wert oder Prozentsatz der Breite des enthaltenen Elements angeben, indem Sie die FixedWidth- oder PercentWidth-Attribute verwenden. Diese beiden Column-Attribute schließen sich gegenseitig aus. Damit ein Benutzer die Größe der Spalte ändern kann, können Sie ein Splitter-Steuerelement angeben, wie unter Verwenden eines Splitters zur Unterstützung der variablen Spaltengröße beschrieben wird.

Dreispalten-Layout

3-Spalten-Anzeige

Der folgende Code erzeugt das vorherige Dreispalten-Layout der Felder. Wenn Sie Feldergruppen in Spalten organisieren, verwenden Sie das Group-Element, um jede Feldspalte einzubeziehen. Optional können Sie die Feldgruppe benennen.

<FORM>
   <Layout>
      <Group>
          <Column PercentWidth="36">
            <Group>
            <Control FieldName="System.Title" Type="FieldControl" Label="Title" LabelPosition="Left" />
            <Control FieldName="System.AreaPath" Type="WorkItemClassificationControl" Label="Area" LabelPosition="Left" />
            <Control FieldName="Microsoft.VSTS.Common.ProductUnit" Type="FieldControl" Label="Product Unit" LabelPosition="Left" />
            <Control FieldName="Microsoft.DevDiv.BusinessUnit" Type="FieldControl" Label="Business Unit" LabelPosition="Left" />
            </Group>
          </Column>
          <Column PercentWidth="33">
            <Group>
            <Control FieldName="Microsoft.DevDiv.SubTitle" Type="FieldControl" Label="Sub Title" LabelPosition="Left" />
            <Control FieldName="System.IterationPath" Type="WorkItemClassificationControl" Label="Iteration" LabelPosition="Left" />
            <Control FieldName="Microsoft.DevDiv.Other" Type="FieldControl" Label="Other" LabelPosition="Left" />
            </Group>
          </Column>
          <Column PercentWidth="31">
            <Group>
            <Control FieldName="Microsoft.DevDiv.Type" Type="FieldControl" Label="Type" LabelPosition="Left" />
            <Control FieldName="System.AssignedTo" Type="FieldControl" Label="Assigned To" LabelPosition="Left" />
            <Control FieldName="System.State" Type="FieldControl" Label="State" LabelPosition="Left" />
            </Group>
          </Column>
      </Group>
. . .
   </Layout>
</FORM>

Verwenden eines Splitters zur Unterstützung der variablen Spaltengröße

Sie verwenden das Splitter-Element, damit der Benutzer, der das Formular anzeigt, die Größe der Spalten dynamisch verändern kann. Der Splitter wird als gestrichelte Linie in dem Formular angezeigt, wie in der folgenden Abbildung dargestellt. Sie können in dem Splitter-Element keine untergeordneten Elemente angeben.

Zweispalten-Layout mit Splitter

2-Spalten-Layout mit Splitter

Ein Group-Element, das Splitter- und Column-Elemente enthält, muss genau drei Column-Elemente in folgender Reihenfolge angeben:

  1. ein Column links vom Spliter

  2. ein Column, das nur das Splitter-Element enthält

  3. ein Column rechts vom Splitter

Weitere Informationen finden Sie im folgenden Beispiel.

<Group>
   <Column PercentWidth="50">
      <Group Label="First Group Left ">
         <Column PercentWidth="50">
            <Control FieldName="Microsoft.VSTS.Common.Priority" Type="FieldControl" Name="Pri2" Label="Priority:" />
            <Control FieldName="Microsoft.VSTS.Common.Rank" Type="FieldControl" Label="Stack Rank:" />
            <Control FieldName="Microsoft.VSTS.Scheduling.BaselineWork" Type="FieldControl" Label="Original Estimate:" />
            <Control FieldName="Microsoft.VSTS.Scheduling.RemainingWork" Type="FieldControl" Label="Remaining:" />
   </Column>
   <Column>
      <Splitter>
   </Column>
   <Column PercentWidth="50">
      <Group Label="Second Group Right">
            <Control Type="DateTimeControl" FieldName="ABC_Company.Project.Manual.ChangeDate" Label="Change Date" Format="Short" LabelPosition="Right" />
            <Control Type="DateTimeControl" FieldName="ABC_Company.Project.Manual.EstimateStartDate" Label="Estimated Start Date" Format="Short" LabelPosition="Right" />
            <Control Type="DateTimeControl" FieldName="ABC_Company.Project.Manual.ActualStartDate" Label="Actual Start Date" Format="Short" LabelPosition="Right" />
            <Control Type="DateTimeControl" FieldName="ABC_Company.Project.Manual.FinishDate" Label="Finish Date" Format="Short" LabelPosition="Right" />
      </Group>
   </Column>
</Group>

Steuern der Größe des Formulars und der Formularelemente

Sie können die minimale horizontale und vertikale Größe jedes Formularlayouts mithilfe des MinimumSize-Attributs für das Layout angeben. Die Größe des Formulars wird jedoch anhand der kombinierten Dimensionen geändert, wenn die kombinierten horizontalen und vertikalen Größen der Feldsteuerelemente und -layouts, die für jedes Formular definiert sind, größer als die angegebenen Mindestdimensionen sind. Außerdem entspricht die vertikale Größe alle Registerkarten der Dimension, die zur Bemaßung der Registerkarte mit dem maximalen Layout erforderlich ist.. Die Größe des letzten Feldsteuerelements auf jeder Registerkarte kann entsprechend geändert werden, um die vertikale Dimension auszufüllen.

Wenn der Container, der das Formularlayout anzeigt, kleiner als die minimale horizontale oder vertikale Größe des Formulars ist, werden Schiebeleisten angezeigt. Wenn das passiert, kann ein Doppelscrollproblem auftreten. Durch das doppelte Scrollen müssen Benutzer möglicherweise das Formular und das Feldsteuerelement scrollen, um die benötigte Information zu finden. Um das Doppelscrollproblem zu vermeiden, können Sie Feldsteuerelemente positionieren, die dem Scrollen auf der eigenen Registerkarte unterliegen, z. B. HTML- und Verlaufsfelder.

Steuern der Größe des Layouts

Sie können den Abstand und die Größe des Gesamtformularlayouts steuern, indem Sie die Attribute angeben, die in der folgenden Tabelle beschrieben werden.

Attribut

Beschreibung

Beispiel für einen Musterwert

MinimumSize

Dies ist optional. Zeichenfolge des Formulars (Breite, Höhe). Dieser Wert gibt die minimale Größe des Formulars an. Wenn der Container, der das Formularlayout anzeigt, kleiner als diese Größe ist, werden horizontale und vertikale Schiebeleisten angezeigt. Wenn die kombinierte Größe der Feldsteuerelemete des Layoutformulars größer ist als vom MinimumSize-Attribut festgelegt, wird das Attribut ignoriert.

(100,100)

Margin

Dies ist optional. Zeichenfolge des Formulars (Links, oben, rechts, unten), das den Platz um das Layout in Pixeln angibt. Auf den einzelnen Seiten können unterschiedliche Abstände angegeben werden.

(2,0,2,0)

Padding

Dies ist optional. Zeichenfolge des Formulars ((Links, oben, rechts, unten) das den Abstand zwischen dem inneren und äußeren Rahmen des Layouts in Pixeln angibt. Auf den einzelnen Seiten können unterschiedliche Abstände angegeben werden.

(2,0,2,0)

ControlSpacing

Dies ist optional. Gibt den vertikalen Abstand zwischen den Steuerelementen in dem Formular an. Integer.

Nicht zutreffend

Steuern der Größe der Formularelemente

Verwenden Sie das Control-Element und MinimumSize-Attribut, um die minimale Breite und Größe anzugeben, das jedes Formularelement einnehmen sollte. Wenn Sie nicht genügend vertikalen Platz haben, wird eine Schiebeleiste angezeigt, um die minimale Größe zu erhalten. Ohne dieses Attribut werden die Steuerelemente mit ihren Standardgrößen gezeichnet, außer wenn Steuerelemente in anderen Registerkarten mehr Platz benötigen, sodass sich die Größe der Registerkarte erhöht. Sie können andere Attribute verwenden, wie z. B. Margin und Padding, um das Steuerelement auszurichten oder zu strecken und die Größe des Rahmens um das Steuerelement zu definieren. Weitere Informationen finden Sie unter den folgenden Themen:

Angeben von verschiedenen Layouts für verschiedene Ziele

Sie können verschiedene Layouts für verschiedene Ziele angeben, indem Sie das Layout-Element und Target-Attribut verwenden. Um auf Visual Studio oder Team Explorer Everywhere abzuzielen, geben Sie WinForms an, und um auf Team Web Access abzuzielen, geben Sie Web an.

<FORM>
   <Layout Target="WinForms" >
      . . . 
   </Layout>
   <Layout Target="Web" >
      . . . 
   </Layout >
</FORM>

Siehe auch

Aufgaben

Ändern des Formularlayouts von Arbeitsaufgaben