Панели, типы панелей и макеты панелей в Unified Service Desk

Unified Service Desk для Microsoft Dynamics CRM использует панели для отображения размещенных элементов управления различных типов. В Unified Service Desk доступны различные предопределенные типы панелей, поддерживающие различные варианты визуального оформления, в том числе макет со вкладками, макет колоды и макет с вертикальным размещением. Расположение этих панелей на главном экране Unified Service Desk определяется с помощью размещенного элемента управления Макет панели. Дополнительные сведения: Макет панели (размещенный элемент управления)

В этом разделе

Панели в Unified Service Desk

Типы панелей в Unified Service Desk

Макеты панелей в Unified Service Desk

Панели в Unified Service Desk

При каждом создании размещенного элемента управления необходимо указать панель, которая будет его содержать, в поле Группа отображения на странице Новый размещенный элемент управления. Для большинства типов размещенных элементов управления Unified Service Desk автоматически заполняет значение панели в поле Группа отображения. Например, MainPanel используется для размещенных элементов управления CRM типа Страница, а ToolbarPanel используется для размещенных элементов управления типа Контейнер инструментов.

В Unified Service Desk доступны следующие предопределенные панели.

Панель Описание

MainPanel

Основная рабочая область в правом нижнем углу.

ChatPanel

Типичное расположение окна чата. Оно находится под элементом управления скриптом агента.

HiddenPanel

Невидимая панель, обычно используемая для компонентов без пользовательского интерфейса.

LeftPanel1

Панель, расположенная сразу под панелью WorkflowPanel слева.

LeftPanel2

Панель, расположенная сразу под панелью LeftPanel1 слева.

LeftPanelFill

Панель, расположенная сразу под панелью LeftPanel2. Эта панель расширяется и заполняет весь остаток пространства, находящегося под нижним краем левой панели.

RightPanel

Панель, расположенная в правой части.

CtiPanel *

Панель расположена в верхнем правом углу — это расположение по умолчанию для элементов управления программным телефоном. Это панель с вертикальным расположением, так что в нее можно добавлять более одного элемента управления; они будут отображаться друг рядом с другом.

SessionExplorerPanel *

Панель, расположенная сразу под вкладками сеанса, где обычно отображаются строки сеанса.

WorkflowPanel *

Панель, расположенная непосредственно под панелью SessionExplorerPanel; обычно она содержит элемент управления скриптами агента.

ToolbarPanel *

Панель на самом верху, справа рядом с эмблемой Unified Service Desk — обычно она содержит панель инструментов.

RibbonPanel

Только для внутреннего использования.

StatusPanel *

Специальная панель, расположенная в строке состояния в нижней части приложения.

* Эти панели обычно зарезервированы для особых целей; не следует их использовать без учета этого аспекта.

Типы панелей в Unified Service Desk

Unified Service Desk предоставляет следующие предопределенные типы панелей, поддерживающие разнообразные варианты макетов:

Типы панели Описание

USDTabPanel

Панель этого типа содержит элемент управления вкладок. Каждый размещенный элемент управления загружается в одну из вкладок. В имени вкладки отображается значение, указанное в поле Отображаемое имя размещенного элемента управления. Если для размещенного элемента управления не задано отображаемое имя, то в качестве имени вкладки отображается имя размещенного элемента управления. Если в панели этого типа имеется один или более размещенных элементов управления, то в ней отображается элемент управления вкладками/заголовок.

USDStackPanel

В панелях этого типа размещенные элементы управления выводятся в ряд по вертикали или горизонтали, подобно панели стопки в Windows Presentation Foundation (WPF) (WPF). Это может быть полезным для панелей инструментов или строк состояния и т. д. Этот тип панелей является производным от StackPanel, который поддерживает свойство Orientation. Такую ориентацию необходимо определить в XAML, чтобы указать, в каком направлении должны располагаться размещенные элементы управления.

USDDeckTabPanel

Если на этой панели находится один размещенный элемент управления, то вкладки не отображаются. Если же на панели находится два и более размещенных элемента управления, то выводятся вкладки элемента управления вкладок.

Примечание

Этот элемент управления аналогичен USDTabPanel, за исключением того, что в темах по умолчанию содержится стиль, который скрывает вкладки в верхней части, если загружен только один элемент управления.

USDCollapsePanel

Это такая же панель, как и USDTabPanel , но в темах по умолчанию определен стиль, который автоматически сворачивает панель, чтобы она не занимала пространство в пользовательском интерфейсе, если в панели не загружен ни один размещенный элемент управления.

USDFloatingPanel

Рабочий стол по умолчанию предоставляет экземпляр панели этого типа. Если в качестве размещенного элемента управления выбран FloatingPanel, то используется этот тип панели. Как правило, этот тип панели не применяется в пользовательских макетах, однако к нему предоставлен доступ на случай, если у вас будут причины его использовать.

USDFloatingToolPanel

Этот тип панели создает окно инструментов для каждого загруженного в ней размещенного элемента управления. Рабочий стол по умолчанию предоставляет экземпляр панели этого типа. Если в качестве размещенного элемента управления выбран FloatingToolPanel, то используется этот тип панели. Как правило, этот тип панели не применяется в пользовательских макетах, однако к нему предоставлен доступ на случай, если у вас будут причины его использовать.

USDPopUpPanel

Панель этого типа позволяет размещать содержимое размещенного элемента управления перед основным представлением.

Эти предопределенные типы панелей также можно использовать для создания в Unified Service Desk пользовательских типов панелей. Дополнительные сведения: Создание настраиваемого типа панелей

Макеты панелей в Unified Service Desk

Используйте макет панели, чтобы определить расположение панелей на экране; для этого применяется размещенный элемент управления Макет панели. Дополнительные сведения: Макет панели (размещенный элемент управления)

На этом макете представлены расположения панелей по макету Стандартной главной панели в Unified Service Desk.

Air theme in Unified Service Desk

Если в приложении Unified Service Desk не определено ни одного макета панелей, то предполагается использование стандартной главной панели, которая создается автоматически. В случае создания элемента управления «Макет панели» необходимо настроить замену стандартной главной панели. Вместо него может использоваться любой другой макет панелей, однако довольно часто просто определяется стандартная главная панель. Вся область приложения в главном окне также определена как панель. Эта область называется MainWorkArea.

Поскольку эти макеты панелей сами по себе являются размещенными элементами управления, макет панели можно использовать в любом месте, где можно настроить размещенный элемент управления. Один из частых вариантов использования этой возможности заключается в определении разделенного представления в области главной панели. Можно, например, отображать представление списка, в котором список организаций отображается в верхней части, а представление подробных данных — снизу. Можно отобразить всю панель макета в плавающей панели и выводить ее на втором дисплее. Дополнительные сведения об использовании плавающих панелей см. на странице Настройка функции отображения статей базы знаний во всплывающем или новом окне.

Unified Service Desk определяет часто используемые макеты панелей:

Макет панели Описание

Стандартная основная панель

Стандартный макет представляет традиционный макет, в котором предусмотрена последовательность панелей слева, сворачиваемая область и главная рабочая область справа. Ниже приведен код XAML, определяющий макет такого компонента.

<USD:PanelLayoutBase xmlns="https://schemas.microsoft.com/winfx/2006/xaml/presentation"
 xmlns:x="https://schemas.microsoft.com/winfx/2006/xaml"
 xmlns:mc="https://schemas.openxmlformats.org/markup-compatibility/2006"
 xmlns:d="https://schemas.microsoft.com/expression/blend/2008"
 mc:Ignorable="d" xmlns:local="clr-namespace:Microsoft.Crm.UnifiedServiceDesk.Dynamics;assembly=Microsoft.Crm.UnifiedServiceDesk.Dynamics" xmlns:USD="clr-namespace:Microsoft.Crm.UnifiedServiceDesk.Dynamics.PanelLayouts;assembly=Microsoft.Crm.UnifiedServiceDesk.Dynamics"
 d:DesignHeight="300" d:DesignWidth="300">
  <Grid x:Name="LayoutRoot">
    <Grid.Resources>
      <local:CRMImageConverter x:Key="CRMImageLoader" />
                                       <Style x:Key="ImageLogo" TargetType="{x:Type Image}">
   <Setter Property="FlowDirection" Value="LeftToRight"/>
   <Setter Property="Width" Value="161" /> 
   <Setter Property="Height" Value="25" /> 
   <Setter Property="Margin" Value="0" /> 
   <Setter Property="HorizontalAlignment" Value="Left" /> 
   <Setter Property="VerticalAlignment" Value="Center" /> 
  </Style>
    </Grid.Resources>
    <Grid.RowDefinitions>
      <RowDefinition Height="auto"/>
      <RowDefinition Height="*"/>
      <RowDefinition Height="auto"/>
    </Grid.RowDefinitions>
<Border Grid.Row="0" BorderBrush="#d8d8d8" BorderThickness="0,1,0,1">
    <Grid Background="{DynamicResource WindowHeaderStyle}" Grid.Row="0" Margin="0">
      <Grid.ColumnDefinitions>
        <ColumnDefinition Width="auto" />
        <ColumnDefinition Width="auto" />
        <ColumnDefinition Width="*" />
        <ColumnDefinition Width="Auto" />
      </Grid.ColumnDefinitions>
      <Image Grid.Column="0" Source="{Binding Source=msdyusd_Logo, Converter={StaticResource CRMImageLoader}}" Style="{DynamicResource ImageLogo}"   />
      <Rectangle Width="10" Grid.Column="1" />
      <USD:USDDeckTabPanel x:Name="ToolbarPanel" Grid.Column="2" AutomationProperties.Name="Toolbar Panel" VerticalAlignment="Stretch" Focusable="False" Margin="1" />
<Grid Grid.Column="3">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="412"/>
</Grid.ColumnDefinitions>
<Grid.Background>
<ImageBrush ImageSource="{Binding Source=msdyusd_Office15, Converter={StaticResource CRMImageLoader}}" Stretch="Fill" ></ImageBrush>
</Grid.Background>
<USD:USDStackPanel Grid.Column="0" x:Name="CtiPanel" Orientation="Horizontal" Focusable="False" VerticalAlignment="Center" AutomationProperties.Name="Cti Panel"/>
<USD:USDStackPanel Grid.Column="1" HorizontalAlignment="Right" x:Name="AboutPanel" Orientation="Horizontal" Focusable="False" VerticalAlignment="Center" AutomationProperties.Name="AboutPanel"/>
</Grid>
    </Grid>
</Border>
    <Grid Grid.Row="1" VerticalAlignment="Stretch" Margin="0" Background="{DynamicResource WindowBackgroundStyle}">
      <Grid.RowDefinitions>
        <RowDefinition Height="auto" />
        <RowDefinition Height="*" />
        <RowDefinition Height="auto" />
      </Grid.RowDefinitions>
      <USD:USDDeckTabPanel x:Name="SessionTabsPanel" Grid.Row="0" Margin="5,5,0,5" AutomationProperties.Name="Session Tabs Panel" Focusable="False" ClipToBounds="True" />
      <Grid x:Name="MainGrid" Grid.Row="1" AutomationProperties.Name="Main Panels">
        <Grid.ColumnDefinitions>
          <ColumnDefinition Width="auto" />
          <ColumnDefinition Width="*"/>
        </Grid.ColumnDefinitions>
        <Expander Grid.Column="0" Style="{DynamicResource StretchExpanderStyle}" ExpandDirection="Left" x:Name="ExpanderSessionDetails" IsExpanded="false" BorderBrush="White" >
          <Grid Style="{DynamicResource LeftPanelGrid}">
            <Grid.RowDefinitions>
              <RowDefinition Height="auto" />
              <RowDefinition Height="auto" />
              <RowDefinition Height="auto" Name="ChatPanelRow" />
              <RowDefinition Height="auto" />
              <RowDefinition Height="auto" />
              <RowDefinition Height="*" />
            </Grid.RowDefinitions>
            <USD:USDCollapsePanel x:Name="SessionExplorerPanel" AutomationProperties.Name="Session Explorer Panel" Grid.Row="0" Margin="1" />
            <USD:USDCollapsePanel x:Name="WorkflowPanel" AutomationProperties.Name="Workflow Panel" Grid.Row="1" Margin="1" />
            <USD:USDCollapsePanel x:Name="ChatPanel" AutomationProperties.Name="Workflow Panel" Grid.Row="2" Margin="1" />
            <USD:USDCollapsePanel x:Name="LeftPanel1" AutomationProperties.Name="Left Panel 1" Grid.Row="3" Margin="1" />
            <USD:USDCollapsePanel x:Name="LeftPanel2" AutomationProperties.Name="Left Panel 2" Grid.Row="4" Margin="1" />
            <USD:USDDeckTabPanel x:Name="LeftPanelFill" AutomationProperties.Name="Left Panel Fill" Grid.Row="5" Margin="1" />
          </Grid>
        </Expander>
        <Grid Grid.Column="1" Background="Transparent">
          <Grid.RowDefinitions>
            <RowDefinition Height="0" />
            <RowDefinition Height="*" />
          </Grid.RowDefinitions>
          <USD:USDCollapsePanel x:Name="RibbonPanel" Grid.Row="0" Visibility="Collapsed" AutomationProperties.Name="Ribbon Panel" Focusable="False" Margin="1" ClipToBounds="False" SnapsToDevicePixels="True" />
          <USD:USDTabPanel x:Name="MainPanel" Grid.Row="1" AutomationProperties.Name="Main Panel" />
        </Grid>
      </Grid>
    </Grid>
    <StatusBar Margin="0" Background="{DynamicResource WindowHeaderStyle}" Grid.Row="2" Height="auto" VerticalAlignment="Bottom">
      <StatusBarItem Background="{DynamicResource WindowHeaderStyle}" >
        <USD:USDStackPanel x:Name="StatusPanel" Orientation="Horizontal" AutomationProperties.Name="Status Panel" Margin="1" />
      </StatusBarItem>
    </StatusBar>
  </Grid>
</USD:PanelLayoutBase>

Основная панель ленты

Только для внутреннего использования.

Разделение по горизонтали

Это особый макет, обычно используемый в MainPanel в качестве размещенного элемента управления. Он содержит верхнюю и нижнюю панели, а также разделитель между ними. Обычно он используется для отображения представления списка в верхней части и представления подробных данных в нижней части, подобно Outlook. В этой разметке определены две панели.

 

Имя панели Описание

TopPanel

Это панель, которая отображается в верхней части. Она определена как:

USDDeckTabPanel

BottomPanel

Это панель, которая отображается в нижней части. Она определена как:

USDDeckTabPanel

Эта панель поддерживает следующие действия.

 

Действие Описание

SetTopPanelHeight

Это действие может использоваться для установки высоты верхней панели. Оно поддерживает два параметра — высоту и тип.

Тип может принимать любое из следующих значений:

  • Авто: устанавливается размер, позволяющий разместить содержащиеся внутри компоненты

  • Пиксел: число пикселов

  • Звездочка: полностью занимает все оставшееся пространство

Интерпретация параметра высоты зависит от этого значения типа. Для получения дополнительных сведений см. документацию по Windows Presentation Foundation (WPF) (WPF) (документация).

SetBottomPanelHeight

Это действие может использоваться для установки высоты нижней панели. Оно поддерживает два параметра — высоту и тип.

Тип может принимать любое из следующих значений:

  • Авто: устанавливается размер, позволяющий разместить содержащиеся внутри компоненты

  • Пиксел: число пикселов

  • Звездочка: полностью занимает все оставшееся пространство

Интерпретация параметра высоты зависит от этого значения типа. Дополнительные сведения см. в документации по WPF (документация).

Разделение по вертикали

Это особый макет, содержащий вертикальный разделитель между левой и правой панелями.

 

Имя панели Описание

LeftPanel

Это панель, которая отображается в левой части. Она определена как:

USDDeckTabPanel

RightPanel

Это панель, которая отображается в правой. Она определена как:

USDDeckTabPanel

Эта панель поддерживает следующие действия.

 

Действие Описание

SetLeftPanelWidth

Это действие может использоваться для установки ширины левой панели. Оно поддерживает два параметра — ширину и тип.

Тип может принимать любое из следующих значений:

  • Авто: устанавливается размер, позволяющий разместить содержащиеся внутри компоненты

  • Пиксел: число пикселов

  • Звездочка: полностью занимает все оставшееся пространство

Интерпретация параметра ширины зависит от этого значения типа. Дополнительные сведения см. в документации по WPF (документация).

SetRightPanelWidth

Это действие может использоваться для установки ширины правой панели. Оно поддерживает два параметра — ширину и тип.

Тип может принимать любое из следующих значений:

  • Авто: устанавливается размер, позволяющий разместить содержащиеся внутри компоненты

  • Пиксел: число пикселов

  • Звездочка: полностью занимает все оставшееся пространство

Интерпретация параметра ширины зависит от этого значения типа. Более подробные сведения см. в документации по WPF.

XAML

Один из самых быстрых способов создания пользовательского макета. В то же время этот параметр не поддерживает код программной части. В результате, если описать макет без использования кода не удается, применение этого варианта будет невозможно — вместо него следует использовать вариант Определятся пользователем. Дополнительные сведения см. в разделе Код программной части и XAML в WPF.

Ниже приведен пример макета XAML.

 <Grid xmlns="https://schemas.microsoft.com/winfx/2006/xaml/presentation"
     xmlns:x="https://schemas.microsoft.com/winfx/2006/xaml"
     xmlns:mc="https://schemas.openxmlformats.org/markup-compatibility/2006" 
     xmlns:d="https://schemas.microsoft.com/expression/blend/2008" 
     mc:Ignorable="d" xmlns: USD="clr-namespace:Dynamics.PanelLayouts;assembly=Dynamics">
  <Grid.RowDefinitions>
  <RowDefinition Height="*" x:Name="TopPanelRow" />
  <RowDefinition Height="auto" />
  <RowDefinition Height="*" x:Name="BottomPanelRow" />
  </Grid.RowDefinitions>
  < USD: USDDeckTabPanel Grid.Row="1" x:Name="TopPanel" Focusable="False" ClipToBounds="True" />
  <GridSplitter Height="5" Grid.Row="2" VerticalAlignment="Top" HorizontalAlignment="Stretch" ResizeDirection="Rows" ResizeBehavior="PreviousAndNext" />
  <USD: USDDeckTabPanel Grid.Row="3" x:Name="BottomPanel" />
 </Grid>

Сведения о том, какие типы панелей могут определяться и использоваться в этом XAML, см. в разделе Типы панелей в Unified Service Desk.

Определяется пользователем

Этот параметр позволяет построить размещенный элемент управления с кодом программной части, чтобы получить все возможности .NET по работе с макетом.

Сведения о том, какие типы панелей могут определяться и использоваться в определяемой пользователем панели см. в разделе Типы панелей в Unified Service Desk.

Сведения о создании настраиваемого макета панели см. в Создание настраиваемого макета панели

См. также

Другие ресурсы

Использование пользовательских типов панелей и макетов панелей

Unified Service Desk
Send comments about this topic to Microsoft.
© 2015 Microsoft. All rights reserved.