Intervallfinder überarbeitet & Bug gefixt, der zu einem Fehler beim Suchen nach freien Intervallen über mehrere Tage geführt hatte, wenn die Enduhrzeit vor der Startuhrzeit lag. Berichte mit Parametern. Verbesserte Mitarbeiter-, Klienten-, Team-, und Organisationsdropdowns mit Suche. Quittierungsbelegresultate (zum Unterschreiben) wird wie die Zeiterfassung paginiert. FaC: neuer Kalender noch nicht fertig.
994 lines
85 KiB
XML
994 lines
85 KiB
XML
<localView:BeWoView x:Class="BeWo.Scheduling.View.SchedulingView"
|
|
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
|
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
|
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
|
xmlns:local="clr-namespace:BeWo.Scheduling.View"
|
|
xmlns:localView="clr-namespace:BeWo.View"
|
|
xmlns:converter="clr-namespace:BeWo.Scheduling.Converter"
|
|
xmlns:dxe="http://schemas.devexpress.com/winfx/2008/xaml/editors"
|
|
xmlns:markup="clr-namespace:BeWo.MultiLanguage.Markup"
|
|
xmlns:view="clr-namespace:BeWo.Scheduler.View"
|
|
xmlns:dx="http://schemas.devexpress.com/winfx/2008/xaml/core"
|
|
xmlns:dxsch="http://schemas.devexpress.com/winfx/2008/xaml/scheduling"
|
|
xmlns:converter1="clr-namespace:BeWo.Scheduler.Converter"
|
|
xmlns:viewModel="clr-namespace:BeWo.Scheduling.ViewModel"
|
|
xmlns:dxschv="http://schemas.devexpress.com/winfx/2008/xaml/scheduling/visual"
|
|
xmlns:dxlc="http://schemas.devexpress.com/winfx/2008/xaml/layoutcontrol"
|
|
xmlns:dxb="http://schemas.devexpress.com/winfx/2008/xaml/bars"
|
|
xmlns:schedulingUtils="clr-namespace:BeWo.Scheduling.SchedulingUtils"
|
|
mc:Ignorable="d"
|
|
Width="Auto" Height="Auto"
|
|
HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Focusable="true">
|
|
<localView:BeWoView.Resources>
|
|
<ResourceDictionary>
|
|
<converter:SchedulingCheckBoxConverter x:Key="CheckBoxConverter" />
|
|
<converter1:NewCalendarBackgroundConverter x:Key="NewCalendarBackgroundConverter" />
|
|
<view:TextFromIDataContractConverter x:Key="TextFromIDataContractConverter" />
|
|
<converter:WidthAdditionMultiConverter x:Key="WidthAdditionMultiConverter" />
|
|
<converter:EmployeeBackgroundColorConverter x:Key="EmployeeBackgroundColorConverter" />
|
|
<converter:DayViewDayCountVisibilityConverter x:Key="DayViewDayCountVisibilityConverter" />
|
|
<converter:EmployeeListConfirmationToolTipConverter x:Key="EmployeeListConfirmationToolTipConverter" />
|
|
<converter:InfoButtonVisibilityConverter x:Key="InfoButtonVisibilityConverter" />
|
|
<converter:AppointmentBorderThicknessConverter x:Key="AppointmentBorderThicknessConverter" />
|
|
|
|
<Style x:Key="MultiElementSelectionControlStyle" TargetType="{x:Type ListBoxItem}">
|
|
<Setter Property="HorizontalContentAlignment" Value="{Binding Path=HorizontalContentAlignment, RelativeSource={RelativeSource AncestorLevel=1, AncestorType={x:Type ItemsControl}, Mode=FindAncestor}}" />
|
|
<Setter Property="VerticalContentAlignment" Value="{Binding Path=VerticalContentAlignment, RelativeSource={RelativeSource AncestorLevel=1, AncestorType={x:Type ItemsControl}, Mode=FindAncestor}}" />
|
|
<Setter Property="Margin" Value="0,2,0,0" />
|
|
<Setter Property="Template">
|
|
<Setter.Value>
|
|
<ControlTemplate>
|
|
<Grid>
|
|
<Border CornerRadius="5" MinHeight="25" Background="{Binding Converter={StaticResource NewCalendarBackgroundConverter}}" />
|
|
<Border x:Name="ItemBorder" CornerRadius="5" MinHeight="25" Background="#FF000000">
|
|
<Border.OpacityMask>
|
|
<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
|
|
<GradientStop Color="#19000000" Offset="0" />
|
|
<GradientStop Color="#26000000" Offset="1" />
|
|
</LinearGradientBrush>
|
|
</Border.OpacityMask>
|
|
</Border>
|
|
|
|
<Border x:Name="ItemContent" CornerRadius="5" MinHeight="25">
|
|
<Grid HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Margin="5,3,5,3" OpacityMask="{x:Null}" SnapsToDevicePixels="True">
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="*" />
|
|
<ColumnDefinition Width="Auto" />
|
|
<ColumnDefinition Width="Auto" />
|
|
</Grid.ColumnDefinitions>
|
|
<TextBlock VerticalAlignment="Center" Grid.Column="0" Text="{Binding Converter={StaticResource TextFromIDataContractConverter}}" Margin="3,0,0,0" FontSize="14" Foreground="#FFD2D2D2" FontFamily="Microsoft Sans Serif" />
|
|
<Border Width="15" Height="15" Grid.Column="1" Background="{Binding Path=FilterableBrush}" CornerRadius="3" />
|
|
<Button x:Name="RemoveElementButton" Grid.Column="2" Grid.RowSpan="2" Width="20" Height="20" ToolTip="Element aus der Liste entfernen" Tag="{Binding}" Style="{DynamicResource CloseButtonStyle}" Click="RemoveElementButton_OnClick" Margin="3,0,0,0" />
|
|
</Grid>
|
|
</Border>
|
|
</Grid>
|
|
<ControlTemplate.Triggers>
|
|
<Trigger Property="IsMouseOver" Value="True">
|
|
<Setter Property="OpacityMask" TargetName="ItemBorder">
|
|
<Setter.Value>
|
|
<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
|
|
<GradientStop Color="#33000000" Offset="0" />
|
|
<GradientStop Color="#66000000" Offset="1" />
|
|
</LinearGradientBrush>
|
|
</Setter.Value>
|
|
</Setter>
|
|
</Trigger>
|
|
<Trigger Property="ListBoxItem.IsSelected" Value="True">
|
|
<Setter Property="OpacityMask" TargetName="ItemBorder">
|
|
<Setter.Value>
|
|
<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
|
|
<GradientStop Color="#99000000" Offset="0" />
|
|
<GradientStop Color="#CC000000" Offset="1" />
|
|
</LinearGradientBrush>
|
|
</Setter.Value>
|
|
</Setter>
|
|
</Trigger>
|
|
<MultiTrigger>
|
|
<MultiTrigger.Conditions>
|
|
<Condition Property="ListBoxItem.IsSelected" Value="True" />
|
|
<Condition Property="Selector.IsSelectionActive" Value="False" />
|
|
</MultiTrigger.Conditions>
|
|
<Setter Property="OpacityMask" TargetName="ItemBorder">
|
|
<Setter.Value>
|
|
<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
|
|
<GradientStop Color="#99000000" Offset="0" />
|
|
<GradientStop Color="#B2000000" Offset="1" />
|
|
</LinearGradientBrush>
|
|
</Setter.Value>
|
|
</Setter>
|
|
</MultiTrigger>
|
|
</ControlTemplate.Triggers>
|
|
</ControlTemplate>
|
|
</Setter.Value>
|
|
</Setter>
|
|
</Style>
|
|
<Style x:Key="MitarbeiterTabItemStyle" TargetType="{x:Type TabItem}">
|
|
<Setter Property="Template">
|
|
<Setter.Value>
|
|
<ControlTemplate TargetType="{x:Type TabItem}">
|
|
<Grid>
|
|
<Border Name="Border" Margin="0">
|
|
<ContentPresenter x:Name="ContentSite" VerticalAlignment="Center" HorizontalAlignment="Center" ContentSource="Header" Margin="12,2,12,2" RecognizesAccessKey="True" />
|
|
</Border>
|
|
</Grid>
|
|
<ControlTemplate.Triggers>
|
|
<Trigger Property="IsSelected" Value="True">
|
|
<Setter TargetName="Border" Property="Background" Value="{StaticResource EmployeeContentBrush}" />
|
|
</Trigger>
|
|
<Trigger Property="IsSelected" Value="False">
|
|
<Setter TargetName="Border" Property="Background" Value="{StaticResource EmployeeContentBrush}" />
|
|
</Trigger>
|
|
</ControlTemplate.Triggers>
|
|
</ControlTemplate>
|
|
</Setter.Value>
|
|
</Setter>
|
|
</Style>
|
|
<Style x:Key="KlientenTabItemStyle" TargetType="{x:Type TabItem}">
|
|
<Setter Property="Template">
|
|
<Setter.Value>
|
|
<ControlTemplate TargetType="{x:Type TabItem}">
|
|
<Grid>
|
|
<Border Name="Border" Margin="0">
|
|
<ContentPresenter x:Name="ContentSite" VerticalAlignment="Center" HorizontalAlignment="Center" ContentSource="Header" Margin="12,2,12,2" RecognizesAccessKey="True" />
|
|
</Border>
|
|
</Grid>
|
|
<ControlTemplate.Triggers>
|
|
<Trigger Property="IsSelected" Value="True">
|
|
<Setter TargetName="Border" Property="Background" Value="{StaticResource CustomerContentBrush}" />
|
|
</Trigger>
|
|
<Trigger Property="IsSelected" Value="False">
|
|
<Setter TargetName="Border" Property="Background" Value="{StaticResource CustomerContentBrush}" />
|
|
</Trigger>
|
|
</ControlTemplate.Triggers>
|
|
</ControlTemplate>
|
|
</Setter.Value>
|
|
</Setter>
|
|
</Style>
|
|
<Style x:Key="RessourcenTabItemStyle" TargetType="{x:Type TabItem}">
|
|
<Setter Property="Template">
|
|
<Setter.Value>
|
|
<ControlTemplate TargetType="{x:Type TabItem}">
|
|
<Grid>
|
|
<Border Name="Border" Margin="0">
|
|
<ContentPresenter x:Name="ContentSite" VerticalAlignment="Center" HorizontalAlignment="Center" ContentSource="Header" Margin="12,2,12,2" RecognizesAccessKey="True" />
|
|
</Border>
|
|
</Grid>
|
|
<ControlTemplate.Triggers>
|
|
<Trigger Property="IsSelected" Value="True">
|
|
<Setter TargetName="Border" Property="Background" Value="{StaticResource ResourceContentBrush}" />
|
|
</Trigger>
|
|
<Trigger Property="IsSelected" Value="False">
|
|
<Setter TargetName="Border" Property="Background" Value="{StaticResource ResourceContentBrush}" />
|
|
</Trigger>
|
|
</ControlTemplate.Triggers>
|
|
</ControlTemplate>
|
|
</Setter.Value>
|
|
</Setter>
|
|
</Style>
|
|
|
|
|
|
<Style TargetType="dxschv:DayAppointmentControl">
|
|
<Setter Property="Padding" Value="0" />
|
|
</Style>
|
|
<Style TargetType="dxschv:MonthAppointmentControl">
|
|
<Setter Property="Padding" Value="0" />
|
|
</Style>
|
|
<Style TargetType="dxschv:AgendaAppointmentControl">
|
|
<Setter Property="Padding" Value="0" />
|
|
</Style>
|
|
<Style TargetType="dxschv:TimelineAppointmentControl">
|
|
<Setter Property="Padding" Value="0" />
|
|
</Style>
|
|
<Style TargetType="dxschv:AllDayAppointmentControl">
|
|
<Setter Property="Padding" Value="0" />
|
|
</Style>
|
|
<Style TargetType="dxschv:AppointmentHorizontalControl">
|
|
<Setter Property="Padding" Value="0" />
|
|
</Style>
|
|
|
|
<DataTemplate x:Key="VerticalAppointmentControl.ContentTemplate">
|
|
<Border BorderThickness="{Binding Appointment.CustomFields[VMForCustomField].AppointmentBorderBrush, Converter={StaticResource AppointmentBorderThicknessConverter}}" BorderBrush="{Binding Appointment.CustomFields[VMForCustomField].AppointmentBorderBrush}" CornerRadius="2">
|
|
<Grid Margin="0">
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="8" />
|
|
<ColumnDefinition Width="*" />
|
|
<ColumnDefinition Width="8" />
|
|
</Grid.ColumnDefinitions>
|
|
<!-- Mitarbeiterfarbe -->
|
|
<Border Grid.Column="0">
|
|
<Border.Background>
|
|
<MultiBinding Mode="OneWay" Converter="{StaticResource EmployeeBackgroundColorConverter}">
|
|
<Binding Path="DataContext.IsEmployeeBrushVisible" Mode="OneWay" UpdateSourceTrigger="PropertyChanged" RelativeSource="{RelativeSource FindAncestor, AncestorType={x:Type localView:BeWoView}}" />
|
|
<Binding Path="Appointment.CustomFields[VMForCustomField].AppointmentColors.EmployeeBackground" />
|
|
<Binding Path="Appointment.CustomFields[VMForCustomField].BackgroundColor" />
|
|
</MultiBinding>
|
|
</Border.Background>
|
|
</Border>
|
|
<!-- /Mitarbeiterfarbe -->
|
|
<!-- Hauptteil mit Betreff und (Ort) -->
|
|
<dxschv:AppointmentContentPanel Grid.Column="1" Background="{Binding Appointment.CustomFields[VMForCustomField].BackgroundColor}">
|
|
<dxschv:AppointmentContentPanel.IntervalSubject>
|
|
<TextBlock Foreground="{Binding Appointment.CustomFields[VMForCustomField].ForegroundColor}"
|
|
Text="{Binding Appointment.Subject}" Margin="3,3,0,0" FontWeight="Normal" />
|
|
</dxschv:AppointmentContentPanel.IntervalSubject>
|
|
<dxschv:AppointmentContentPanel.Location>
|
|
<TextBlock Foreground="{Binding Appointment.CustomFields[VMForCustomField].ForegroundColor}"
|
|
Visibility="{Binding Appointment.Location, Converter={StaticResource ObjectVisibilityConverter}}"
|
|
Margin="3,3,0,0" FontWeight="Normal" Text="{Binding Appointment.Location, StringFormat={}({0})}" />
|
|
</dxschv:AppointmentContentPanel.Location>
|
|
<dxschv:AppointmentContentPanel.Images>
|
|
<dxschv:AppointmentImagesPanel Margin="0,0,0,3" VerticalAlignment="Stretch" Background="{Binding Appointment.CustomFields[VMForCustomField].BackgroundColor}" />
|
|
</dxschv:AppointmentContentPanel.Images>
|
|
</dxschv:AppointmentContentPanel>
|
|
<!-- /Hauptteil mit Betreff und (Ort) -->
|
|
<!-- Klientenfarbe & Ressourcenfarbe -->
|
|
<Border Grid.Column="2" Background="{Binding Appointment.CustomFields[VMForCustomField].AppointmentColors.ResourceAndCustomerBackground}" />
|
|
<!-- /Klientenfarbe & Ressourcenfarbe -->
|
|
</Grid>
|
|
</Border>
|
|
</DataTemplate>
|
|
|
|
<DataTemplate x:Key="HorizontalAppointmentControl.ContentTemplate">
|
|
<Border Margin="-6,0,0,0" BorderThickness="{Binding Appointment.CustomFields[VMForCustomField].AppointmentBorderBrush, Converter={StaticResource AppointmentBorderThicknessConverter}}" BorderBrush="{Binding Appointment.CustomFields[VMForCustomField].AppointmentBorderBrush}" CornerRadius="2">
|
|
<Grid Background="{Binding Appointment.CustomFields[VMForCustomField].BackgroundColor}">
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="8" />
|
|
<ColumnDefinition Width="*" />
|
|
<ColumnDefinition Width="8" />
|
|
</Grid.ColumnDefinitions>
|
|
<!-- Mitarbeiterfarbe -->
|
|
<Border Grid.Column="0">
|
|
<Border.Background>
|
|
<MultiBinding Mode="OneWay" Converter="{StaticResource EmployeeBackgroundColorConverter}">
|
|
<Binding Path="DataContext.IsEmployeeBrushVisible" Mode="OneWay" UpdateSourceTrigger="PropertyChanged" RelativeSource="{RelativeSource FindAncestor, AncestorType={x:Type localView:BeWoView}}" />
|
|
<Binding Path="Appointment.CustomFields[VMForCustomField].AppointmentColors.EmployeeBackground" />
|
|
<Binding Path="Appointment.CustomFields[VMForCustomField].BackgroundColor" />
|
|
</MultiBinding>
|
|
</Border.Background>
|
|
</Border>
|
|
<!-- /Mitarbeiterfarbe -->
|
|
<!-- Hauptteil mit Betreff und (Ort) -->
|
|
<dxschv:AppointmentContentPanel Grid.Column="1" Background="{Binding Appointment.CustomFields[VMForCustomField].BackgroundColor}" VerticalAlignment="Center">
|
|
<dxschv:AppointmentContentPanel.IntervalSubject>
|
|
<StackPanel Orientation="Horizontal">
|
|
<TextBlock Visibility="{Binding Appointment.AllDay, Converter={StaticResource BoolVisibilityConverter}, ConverterParameter=Reverse}" Foreground="{Binding Appointment.CustomFields[VMForCustomField].ForegroundColor}">
|
|
<Run Text="{Binding Appointment.Start, StringFormat={}{0:HH:mm}}" />
|
|
<Run Text="-" />
|
|
<Run Text="{Binding Appointment.End, StringFormat={}{0:HH:mm}}" />
|
|
</TextBlock>
|
|
<TextBlock Text="{Binding Appointment.Subject}" Margin="3,0,0,0" VerticalAlignment="Center" Foreground="{Binding Appointment.CustomFields[VMForCustomField].ForegroundColor}" />
|
|
</StackPanel>
|
|
</dxschv:AppointmentContentPanel.IntervalSubject>
|
|
<dxschv:AppointmentContentPanel.Images>
|
|
<dxschv:AppointmentImagesPanel Margin="0,3,3,0" Background="{Binding Appointment.CustomFields[VMForCustomField].BackgroundColor}" />
|
|
</dxschv:AppointmentContentPanel.Images>
|
|
</dxschv:AppointmentContentPanel>
|
|
<!-- /Hauptteil mit Betreff und (Ort) -->
|
|
<!-- Klientenfarbe & Ressourcenfarbe -->
|
|
<Border Grid.Column="2" Background="{Binding Appointment.CustomFields[VMForCustomField].AppointmentColors.ResourceAndCustomerBackground}"/>
|
|
<!-- /Klientenfarbe & Ressourcenfarbe -->
|
|
</Grid>
|
|
</Border>
|
|
</DataTemplate>
|
|
<DataTemplate x:Key="MyImageBox">
|
|
<Image Visibility="{Binding Path=Appointment.CustomFields[VMForCustomField].HasServiceRecordEntry, Converter={StaticResource BoolVisibilityConverter}}"
|
|
Source="/BeWoPlaner;component/Ressources/Icons/HistoryDisabled.png" SnapsToDevicePixels="True" Height="17" Width="17" />
|
|
</DataTemplate>
|
|
<Style x:Key="AppointmentStyle" TargetType="dxschv:AppointmentControl">
|
|
<Setter Property="ShowInterval" Value="True" />
|
|
<Setter Property="Margin" Value="0" />
|
|
<Setter Property="Padding" Value="0" />
|
|
<Setter Property="ImageBoxTemplate" Value="{StaticResource MyImageBox}" />
|
|
</Style>
|
|
<DataTemplate x:Key="TooltipTemplate">
|
|
<dxlc:LayoutControl IsHitTestVisible="False" Orientation="Vertical" Padding="0">
|
|
<Grid>
|
|
<Grid.RowDefinitions>
|
|
<RowDefinition Height="Auto" />
|
|
<RowDefinition Height="Auto" />
|
|
<RowDefinition Height="Auto" />
|
|
<RowDefinition Height="Auto" />
|
|
<RowDefinition Height="Auto" />
|
|
<RowDefinition Height="Auto" />
|
|
<RowDefinition Height="Auto" />
|
|
<RowDefinition Height="Auto" />
|
|
</Grid.RowDefinitions>
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="Auto" />
|
|
<ColumnDefinition Width="*" />
|
|
</Grid.ColumnDefinitions>
|
|
<Grid Grid.Row="0" Grid.Column="0" Margin="0,0,3,0" Grid.ColumnSpan="2">
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="Auto" />
|
|
<ColumnDefinition Width="*" />
|
|
</Grid.ColumnDefinitions>
|
|
<StackPanel Grid.Column="0" Orientation="Horizontal" Visibility="{Binding Path=Appointment.CustomFields[VMForCustomField].ToolTipTimeVisibility}">
|
|
<TextBlock Text="{Binding Path=Appointment.Start, StringFormat={}{0:HH:mm}}" />
|
|
<TextBlock Text=" - " />
|
|
<TextBlock Text="{Binding Path=Appointment.End, StringFormat={}{0:HH:mm}}" />
|
|
<TextBlock Text=" Uhr" Margin="0,0,4,0" />
|
|
</StackPanel>
|
|
<TextBlock Grid.Column="1" Text="{Binding Path=Appointment.CustomFields[VMForCustomField].ToolTip}" TextWrapping="Wrap" MaxWidth="{Binding ElementName=Scheduler, Path=ActualWidth}" />
|
|
</Grid>
|
|
<Separator Grid.Row="1" Grid.Column="0" Grid.ColumnSpan="2" Height="1" Background="DimGray" Visibility="{Binding Path=Appointment.CustomFields[VMForCustomField].ToolTipTrennstrichVisibility}" />
|
|
|
|
<TextBlock Grid.Row="2" Grid.Column="0" Margin="0,0,3,0" Text="Ressourcen:" Visibility="{Binding Path=Appointment.CustomFields[VMForCustomField].ToolTipResourcesVisibility}" />
|
|
<TextBlock Grid.Row="2" Grid.Column="1" Text="{Binding Path=Appointment.CustomFields[VMForCustomField].ResourcesToolTip}" Visibility="{Binding Path=Appointment.CustomFields[VMForCustomField].ToolTipResourcesVisibility}" />
|
|
<TextBlock Grid.Row="3" Grid.Column="0" Margin="0,0,3,0" Text="{markup:Translate Mitarbeiter:}" Visibility="{Binding Path=Appointment.CustomFields[VMForCustomField].ToolTipEmployeesVisibility}" />
|
|
|
|
<ListView Margin="-6,-3,0,0" Grid.Row="3" Background="Transparent" BorderThickness="0" ItemsSource="{Binding Path=Appointment.CustomFields[VMForCustomField].EmployeeList}" Grid.Column="1" Visibility="{Binding Path=Appointment.CustomFields[VMForCustomField].ToolTipEmployeesVisibility}" Name="ToolTipEmployeeList">
|
|
<ListView.ItemsPanel>
|
|
<ItemsPanelTemplate>
|
|
<WrapPanel Width="{Binding (FrameworkElement.ActualWidth), RelativeSource={RelativeSource AncestorType=ScrollContentPresenter}}"
|
|
ItemWidth="{Binding (ListView.View).ItemWidth, RelativeSource={RelativeSource AncestorType=ListView}}"
|
|
MinWidth="{Binding ItemWidth, RelativeSource={RelativeSource Self}}"
|
|
ItemHeight="{Binding (ListView.View).ItemHeight, RelativeSource={RelativeSource AncestorType=ListView}}" />
|
|
</ItemsPanelTemplate>
|
|
</ListView.ItemsPanel>
|
|
<ListView.ItemTemplate>
|
|
<DataTemplate>
|
|
<Grid>
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="Auto" />
|
|
<ColumnDefinition Width="*" />
|
|
</Grid.ColumnDefinitions>
|
|
<Border Grid.Column="0" Background="{Binding Converter={StaticResource EmployeeListConfirmationToolTipConverter}}" BorderThickness="1" BorderBrush="DimGray" Width="5" Margin="0,0,3,0" Visibility="{Binding Path=DataContext.Appointment.CustomFields[VMForCustomField].ToolTipZusageVisibility, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type ListView}}}" />
|
|
<TextBlock Grid.Column="1" Foreground="DimGray" Text="{Binding Converter={StaticResource EmployeeListConfirmationToolTipConverter}, ConverterParameter=EmployeeName}" />
|
|
</Grid>
|
|
</DataTemplate>
|
|
</ListView.ItemTemplate>
|
|
</ListView>
|
|
|
|
<TextBlock Margin="0,0,3,0" Grid.Row="4" Grid.Column="0" Text="{markup:Translate Klienten:}" Visibility="{Binding Path=Appointment.CustomFields[VMForCustomField].ToolTipCustomersVisibility}" />
|
|
<TextBlock Grid.Row="4" Grid.Column="1" Text="{Binding Path=Appointment.CustomFields[VMForCustomField].CustomersToolTip}"
|
|
Visibility="{Binding Path=Appointment.CustomFields[VMForCustomField].ToolTipCustomersVisibility}" />
|
|
|
|
<Separator Grid.Row="5" Grid.ColumnSpan="2" Grid.Column="0" Height="1" Background="DimGray" Visibility="{Binding Path=Appointment.CustomFields[VMForCustomField].CanBeEdited, Converter={StaticResource BoolVisibilityConverter}}" />
|
|
<TextBlock Margin="0,0,3,0" Grid.Row="6" Grid.Column="0" Text="Angelegt von:" Visibility="{Binding Path=Appointment.CustomFields[VMForCustomField].CanBeEdited, Converter={StaticResource BoolVisibilityConverter}}" />
|
|
<TextBlock Margin="0,0,3,0" Grid.Row="6" Grid.Column="1" Text="{Binding Path=Appointment.CustomFields[VMForCustomField].Originator}" Visibility="{Binding Path=Appointment.CustomFields[VMForCustomField].CanBeEdited, Converter={StaticResource BoolVisibilityConverter}}" />
|
|
</Grid>
|
|
</dxlc:LayoutControl>
|
|
</DataTemplate>
|
|
</ResourceDictionary>
|
|
</localView:BeWoView.Resources>
|
|
<Grid x:Name="RootGrid" Grid.IsSharedSizeScope="True" d:DataContext="{d:DesignInstance viewModel:SchedulingAppointmentListVM}">
|
|
<Grid.RowDefinitions>
|
|
<RowDefinition Height="Auto" />
|
|
<RowDefinition Height="*" />
|
|
</Grid.RowDefinitions>
|
|
<Grid Grid.Column="0" x:Name="TopBarGrid">
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="Auto" />
|
|
<ColumnDefinition Width="Auto" />
|
|
<ColumnDefinition Width="*" />
|
|
<ColumnDefinition Width="Auto" />
|
|
<ColumnDefinition Width="Auto" />
|
|
</Grid.ColumnDefinitions>
|
|
<StackPanel Orientation="Horizontal" Grid.Column="0" Grid.Row="0" VerticalAlignment="Bottom" MinWidth="239">
|
|
<StackPanel.Width>
|
|
<MultiBinding Converter="{StaticResource WidthAdditionMultiConverter}">
|
|
<Binding ElementName="AuswahlGrid" Path="ActualWidth" />
|
|
<Binding ElementName="LeftExpanderButton" Path="ActualWidth" />
|
|
</MultiBinding>
|
|
</StackPanel.Width>
|
|
<Button Margin="0,1,1,1" Height="24" Width="24" ToolTip="Tagesansicht" Click="DayViewButton_OnClick">
|
|
<Image Source="../../Ressources/Icons/Calendar1Day24.png"></Image>
|
|
</Button>
|
|
<Button Margin="0,1,1,1" Height="24" Width="24" ToolTip="Arbeitswoche anzeigen" Click="WorkWeekButton_OnClick">
|
|
<Image Source="../../Ressources/Icons/Calendar5Day24.png"></Image>
|
|
</Button>
|
|
<Button Margin="0,1,1,1" Height="24" Width="24" ToolTip="Volle Woche anzeigen" Click="WeekButton_OnClick">
|
|
<Image Source="../../Ressources/Icons/Calendar7Day24.png"></Image>
|
|
</Button>
|
|
<Button Margin="0,1,1,1" Height="24" Width="24" ToolTip="Monat anzeigen" Click="MonthButton_OnClick">
|
|
<Image Source="../../Ressources/Icons/Calendar31Day24.png"></Image>
|
|
</Button>
|
|
<Button Margin="0,1,1,1" Height="24" Width="24" ToolTip="Zeitleiste anzeigen" Click="TimelineButton_OnClick">
|
|
<Image Source="../../Ressources/Icons/History24.png"></Image>
|
|
</Button>
|
|
<Button Margin="0,1,1,1" Height="24" Width="24" ToolTip="Termine löschen"
|
|
x:Name="DeleteAppointmentsButton" Click="DeleteAppointmentsInIntervalButton_OnClick"
|
|
Visibility="{Binding DeleteInInvervalButtonVisibility, UpdateSourceTrigger=PropertyChanged}">
|
|
<Image Source="../../Ressources/Icons/Delete24.png"></Image>
|
|
</Button>
|
|
<StackPanel x:Name="DayViewOptions" Orientation="Horizontal"
|
|
Visibility="{Binding ElementName=SchedulerControl, Path=ActiveView.Type, UpdateSourceTrigger=PropertyChanged, Converter={StaticResource DayViewDayCountVisibilityConverter}, ConverterParameter=DayCount}">
|
|
<Label VerticalAlignment="Center" Content="anz Tage:" />
|
|
<dxe:SpinEdit MinValue="1" MaxValue="100" VerticalAlignment="Center"
|
|
x:Name="SpinEditDayViewDayCount" AllowNullInput="False" Height="23" Width="50" IsFloatValue="False"
|
|
LostFocus="SpinEditDayViewDayCount_OnLostFocus" EditValueChanged="SpinEditDayViewDayCount_EditValueChanged" />
|
|
</StackPanel>
|
|
|
|
<StackPanel x:Name="TimelineViewOptions" Orientation="Horizontal"
|
|
Visibility="{Binding ElementName=SchedulerControl, Path=ActiveView.Type, UpdateSourceTrigger=PropertyChanged, Converter={StaticResource DayViewDayCountVisibilityConverter}, ConverterParameter=IntervalCount}">
|
|
<Label VerticalAlignment="Center" Content="anz Tage:" />
|
|
<dxe:SpinEdit MinValue="1" MaxValue="100" VerticalAlignment="Center"
|
|
x:Name="SpinEditTimelineViewDayCount" AllowNullInput="False" Height="23" Width="50" IsFloatValue="False"
|
|
LostFocus="SpinEditTimelineViewDayCount_OnLostFocus" EditValueChanged="SpinEditTimelineViewDayCount_EditValueChanged" />
|
|
</StackPanel>
|
|
|
|
<Button Click="ReloadButton_OnClick" Margin="5,1,1,1" ToolTip="Kalender aktualisieren" Width="24" Height="24">
|
|
<Button.Template>
|
|
<ControlTemplate TargetType="{x:Type Button}">
|
|
<Grid>
|
|
<Image x:Name="imgDisabled" Source="..\..\Ressources\Icons\SymbolRefresh32Disabled.png" />
|
|
<Image x:Name="imgEnabled" Source="..\..\Ressources\Icons\SymbolRefresh32.png" Opacity="0" />
|
|
</Grid>
|
|
<ControlTemplate.Triggers>
|
|
<Trigger Property="IsMouseOver" Value="true">
|
|
<Setter Property="Opacity" TargetName="imgEnabled" Value="1" />
|
|
</Trigger>
|
|
</ControlTemplate.Triggers>
|
|
</ControlTemplate>
|
|
</Button.Template>
|
|
</Button>
|
|
<Button Click="ExportButton_OnClick" Margin="5,1,1,1" ToolTip="Exportieren" Width="24" Height="24" Visibility="Collapsed"/>
|
|
</StackPanel>
|
|
<Grid Grid.Column="2" Grid.Row="0" Margin="6,0,0,0" VerticalAlignment="Center">
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="Auto" />
|
|
<ColumnDefinition Width="Auto" />
|
|
<ColumnDefinition Width="Auto" />
|
|
<ColumnDefinition Width="*" />
|
|
<ColumnDefinition Width="Auto" />
|
|
</Grid.ColumnDefinitions>
|
|
<CheckBox Grid.Column="0" Visibility="{Binding EmployeeControlsVisibility, UpdateSourceTrigger=PropertyChanged}" Content="{markup:Translate Mitarbeiterfarben}"
|
|
x:Name="MitarbeiterfarbenEinAusCheckBox"
|
|
IsChecked="{Binding Path=IsEmployeeBrushVisible}" />
|
|
<CheckBox Grid.Column="1" Content="Abwesenheiten" Margin="10,0,0,0" x:Name="AbwesenheitenEinAusCheckBox" Checked="AbwesenheitenEinAusCheckBox_OnChecked"
|
|
Unchecked="AbwesenheitenEinAusCheckBox_OnChecked"
|
|
IsChecked="{Binding Path=IsAbsenceTimeVisible, Mode=TwoWay}" />
|
|
<CheckBox Grid.Column="2" VerticalAlignment="Center" Margin="10,0,0,0" Content="Aufgaben" x:Name="ShowTasksCheckBox" IsChecked="{Binding Path=IsTasksVisible, Mode=TwoWay}" Click="ShowTasksCheckBox_OnClick" />
|
|
<TextBlock IsEnabled="{Binding Enabled, UpdateSourceTrigger=PropertyChanged}" Grid.Column="3" VerticalAlignment="Center" HorizontalAlignment="Center" Margin="10,0,0,0">
|
|
<Hyperlink RequestNavigate="ShowAppointmentRequests" NavigateUri="#" IsEnabled="{Binding Enabled, UpdateSourceTrigger=PropertyChanged}">
|
|
<TextBlock Text="{Binding Requests, UpdateSourceTrigger=PropertyChanged}" />
|
|
</Hyperlink>
|
|
</TextBlock>
|
|
<CheckBox Grid.Column="4" IsChecked="{Binding OnlyPrivateAppointments, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" HorizontalAlignment="Right" VerticalAlignment="Center" Content="Nur private Termine anzeigen" x:Name="ShowPrivateAppointmentsCheckBox" Click="ShowPrivateAppointmentsCheckBox_OnClick" />
|
|
</Grid>
|
|
<Border Grid.Row="0" Grid.Column="3" Width="{Binding ElementName=RightExpanderButton, Path=ActualWidth}" />
|
|
<Border Grid.Row="0" Grid.Column="4" Width="{Binding ElementName=DateNavigator, Path=ActualWidth}">
|
|
<TextBlock HorizontalAlignment="Center" VerticalAlignment="Center">
|
|
<Hyperlink NavigateUri="#" RequestNavigate="PrintCalendar">
|
|
<TextBlock>Drucken</TextBlock>
|
|
</Hyperlink>
|
|
</TextBlock>
|
|
</Border>
|
|
</Grid>
|
|
<Grid Grid.Row="1">
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="Auto" />
|
|
<ColumnDefinition Width="Auto" SharedSizeGroup="A" />
|
|
<ColumnDefinition Width="*" />
|
|
<ColumnDefinition Width="Auto" SharedSizeGroup="A" />
|
|
<ColumnDefinition Width="Auto" />
|
|
</Grid.ColumnDefinitions>
|
|
<Grid Grid.Column="0" x:Name="ObjectSelectionGrid">
|
|
<Grid.RowDefinitions>
|
|
<RowDefinition Height="Auto" />
|
|
<RowDefinition Height="*" />
|
|
</Grid.RowDefinitions>
|
|
<!-- ToDo: Kann man weder Mitarbeiter, Klienten und Ressourcen sehen, "Nur meine Termine anzeigen", das AuswahlGrid, und den Togglebutton verschicken -->
|
|
<CheckBox x:Name="ZeigeNurMeineTermineCheckBox" Grid.Row="0" Grid.Column="0" Content="Nur meine Termine anzeigen" Margin="3, 3, 3, 3" IsChecked="{Binding Path=ZeigeNurMeineTermine, UpdateSourceTrigger=PropertyChanged, Mode=TwoWay}" Checked="NurMeineTermineEinAusCheckBox_OnChecked" Unchecked="NurMeineTermineEinAusCheckBox_OnChecked" />
|
|
<UniformGrid Grid.Column="0" x:Name="AuswahlGrid" Rows="2" Columns="1" Width="270" Grid.Row="1">
|
|
<TabControl SelectionChanged="Selector_OnSelectionChanged" SelectedIndex="{Binding SelectedTabItemIndex, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" x:Name="TabControl" Visibility="{Binding SelectionControlVisibility, UpdateSourceTrigger=PropertyChanged}">
|
|
<!-- #region Mitarbeiterauswahl -->
|
|
<TabItem Visibility="{Binding EmployeeControlsVisibility, UpdateSourceTrigger=PropertyChanged}" Header="{markup:Translate Mitarbeiter}" Style="{StaticResource MitarbeiterTabItemStyle}" x:Name="MitarbeiterTabItem">
|
|
<Grid x:Name="MitarbeiterTabGrid" Visibility="{Binding EmployeeControlsVisibility, UpdateSourceTrigger=PropertyChanged}">
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="*" />
|
|
<ColumnDefinition Width="Auto" />
|
|
</Grid.ColumnDefinitions>
|
|
<Grid.RowDefinitions>
|
|
<RowDefinition Height="Auto" />
|
|
<RowDefinition Height="Auto" />
|
|
<RowDefinition Height="*" />
|
|
</Grid.RowDefinitions>
|
|
<CheckBox Foreground="#FFD2D2D2" Grid.Column="0" Content="Alle auswählen" Margin="3" x:Name="AlleMitarbeiterCB" Click="AllEmployeesCheckBox_OnClick" />
|
|
<ToggleButton Margin="3" Grid.Row="0" Grid.Column="1" Height="17" Width="36" Style="{StaticResource LupenToggleButtonStyle}" x:Name="EmployeeSearchToggleButton" Checked="EmployeeSearchToggleButton_OnCheckedUnchecked" Unchecked="EmployeeSearchToggleButton_OnCheckedUnchecked" />
|
|
<Grid x:Name="MitarbeiterSuchGrid" Margin="0,1,0,3" Grid.Column="0" Grid.ColumnSpan="2" Background="Black" Grid.Row="1" Visibility="Collapsed">
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="Auto" />
|
|
<ColumnDefinition Width="*" />
|
|
<ColumnDefinition Width="Auto" />
|
|
</Grid.ColumnDefinitions>
|
|
<Label Content="Suche:" Grid.Column="0" Foreground="White" />
|
|
<TextBox x:Name="MitarbeiterSuchTextBox" Grid.Column="1" TextChanged="TextBoxEmployees_OnTextChanged" Margin="3" VerticalContentAlignment="Center" />
|
|
<Button Grid.Column="2" Style="{DynamicResource CloseButtonStyle}" Width="19" Height="19" Margin="0,3,3,3" ToolTip="Suchfeld leeren" Click="ClearEmployeeSearchButton_OnClick" />
|
|
</Grid>
|
|
<ListView Grid.Column="0" Grid.ColumnSpan="2" Grid.Row="2" Margin="0" ItemsSource="{Binding Path=FilteredEmployees, UpdateSourceTrigger=PropertyChanged}" Background="Transparent" BorderThickness="0">
|
|
<ListView.ItemContainerStyle>
|
|
<Style TargetType="{x:Type ListViewItem}">
|
|
<Setter Property="HorizontalContentAlignment" Value="{Binding Path=HorizontalContentAlignment, RelativeSource={RelativeSource AncestorLevel=1, AncestorType={x:Type ItemsControl}, Mode=FindAncestor}}" />
|
|
<Setter Property="VerticalContentAlignment" Value="{Binding Path=VerticalContentAlignment, RelativeSource={RelativeSource AncestorLevel=1, AncestorType={x:Type ItemsControl}, Mode=FindAncestor}}" />
|
|
<Setter Property="Margin" Value="0,2,2,0" />
|
|
<Setter Property="Template">
|
|
<Setter.Value>
|
|
<ControlTemplate>
|
|
<Grid>
|
|
<Border CornerRadius="5" MinHeight="25" Background="Transparent" />
|
|
<Border x:Name="ItemBorder" CornerRadius="5" MinHeight="25" Background="#FF000000">
|
|
<Border.OpacityMask>
|
|
<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
|
|
<GradientStop Color="#19000000" Offset="0" />
|
|
<GradientStop Color="#26000000" Offset="1" />
|
|
</LinearGradientBrush>
|
|
</Border.OpacityMask>
|
|
</Border>
|
|
<Border x:Name="ItemContent" CornerRadius="5" MinHeight="25">
|
|
<Grid HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Margin="5,3,5,3" OpacityMask="{x:Null}" SnapsToDevicePixels="True">
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="*" />
|
|
<ColumnDefinition Width="Auto" />
|
|
<ColumnDefinition Width="Auto" />
|
|
</Grid.ColumnDefinitions>
|
|
<CheckBox Content="{Binding Path=Employee.DetailDescription}"
|
|
Click="ListItem_OnClick" Checked="EmployeeListViewCheckBox_OnChecked" Unchecked="EmployeeListViewCheckBox_OnChecked"
|
|
IsChecked="{Binding Path=(schedulingUtils:ListItemHelper.IsChecked), Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}">
|
|
<CheckBox.Style>
|
|
<Style TargetType="{x:Type CheckBox}">
|
|
<Setter Property="Foreground" Value="#FFD2D2D2"/>
|
|
<Setter Property="Visibility" Value="Visible"/>
|
|
<Style.Triggers>
|
|
<DataTrigger Binding="{Binding Path=(schedulingUtils:ListItemHelper.IsChecked)}" Value="False" />
|
|
</Style.Triggers>
|
|
</Style>
|
|
</CheckBox.Style>
|
|
</CheckBox>
|
|
<Border Width="15" Height="15" Grid.Column="1" Background="{Binding Path=Employee.FilterableBrush}" CornerRadius="3" />
|
|
<Button x:Name="btn_showEmployeeInformation" Width="15" Height="15" Grid.Column="2" Margin="5 0 5 0"
|
|
Click="EmployeeInformationButton_OnClick" FontFamily="Microsoft Sans Serif" Content="i"
|
|
Visibility="{Binding Converter={StaticResource InfoButtonVisibilityConverter}}" />
|
|
</Grid>
|
|
</Border>
|
|
</Grid>
|
|
<ControlTemplate.Triggers>
|
|
<Trigger Property="IsMouseOver" Value="True">
|
|
<Setter Property="OpacityMask" TargetName="ItemBorder">
|
|
<Setter.Value>
|
|
<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
|
|
<GradientStop Color="#33000000" Offset="0" />
|
|
<GradientStop Color="#66000000" Offset="1" />
|
|
</LinearGradientBrush>
|
|
</Setter.Value>
|
|
</Setter>
|
|
</Trigger>
|
|
<Trigger Property="ListBoxItem.IsSelected" Value="True">
|
|
<Setter Property="OpacityMask" TargetName="ItemBorder">
|
|
<Setter.Value>
|
|
<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
|
|
<GradientStop Color="#70000000" Offset="0" />
|
|
<GradientStop Color="#BB000000" Offset="1" />
|
|
</LinearGradientBrush>
|
|
</Setter.Value>
|
|
</Setter>
|
|
</Trigger>
|
|
<MultiTrigger>
|
|
<MultiTrigger.Conditions>
|
|
<Condition Property="ListBoxItem.IsSelected" Value="True" />
|
|
<Condition Property="Selector.IsSelectionActive" Value="False" />
|
|
</MultiTrigger.Conditions>
|
|
<Setter Property="OpacityMask" TargetName="ItemBorder">
|
|
<Setter.Value>
|
|
<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
|
|
<GradientStop Color="#70000000" Offset="0" />
|
|
<GradientStop Color="#B2000000" Offset="1" />
|
|
</LinearGradientBrush>
|
|
</Setter.Value>
|
|
</Setter>
|
|
</MultiTrigger>
|
|
</ControlTemplate.Triggers>
|
|
</ControlTemplate>
|
|
</Setter.Value>
|
|
</Setter>
|
|
</Style>
|
|
</ListView.ItemContainerStyle>
|
|
</ListView>
|
|
</Grid>
|
|
</TabItem>
|
|
<!-- #endregion Mitarbeiterauswahl -->
|
|
<!-- #region Klientenauswahl -->
|
|
<TabItem Visibility="{Binding CustomerControlsVisibility, UpdateSourceTrigger=PropertyChanged}" Header="{markup:Translate Klienten}" Style="{StaticResource KlientenTabItemStyle}">
|
|
<Grid>
|
|
<Grid.RowDefinitions>
|
|
<RowDefinition Height="Auto" />
|
|
<RowDefinition Height="*" />
|
|
</Grid.RowDefinitions>
|
|
<Grid Grid.Row="0">
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="*" />
|
|
<ColumnDefinition Width="Auto" />
|
|
<ColumnDefinition Width="Auto" />
|
|
</Grid.ColumnDefinitions>
|
|
<Grid.RowDefinitions>
|
|
<RowDefinition Height="Auto" />
|
|
<RowDefinition Height="*" />
|
|
</Grid.RowDefinitions>
|
|
<CheckBox Foreground="#FFD2D2D2" Grid.Row="0" Grid.Column="0" Content="Alle auswählen" Margin="3" x:Name="SelectAllCustomersCheckBox" Click="AllCustomersCheckBox_Checked" HorizontalAlignment="Left" HorizontalContentAlignment="Center" />
|
|
<CheckBox Foreground="#FFD2D2D2" Grid.Row="0" Grid.Column="1" Content="{markup:Translate Nur meine Klienten}" Click="OnlyMyCustomersCheckBox_Click" Margin="3" HorizontalAlignment="Right" IsThreeState="False" HorizontalContentAlignment="Center" />
|
|
<ToggleButton Margin="3" Grid.Row="0" Grid.Column="2" Height="17" Width="36" Style="{StaticResource LupenToggleButtonStyle}" x:Name="CustomerSearchToggleButton" Checked="CustomerSearchToggleButton_OnCheckedUnchecked" Unchecked="CustomerSearchToggleButton_OnCheckedUnchecked" />
|
|
<Grid x:Name="KlientenSuchGrid" Margin="0,1,0,3" Grid.Column="0" Grid.ColumnSpan="3" Background="Black" Grid.Row="1" Visibility="Collapsed">
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="Auto" />
|
|
<ColumnDefinition Width="*" />
|
|
<ColumnDefinition Width="Auto" />
|
|
</Grid.ColumnDefinitions>
|
|
<Label Content="Suche:" Grid.Column="0" Foreground="White" />
|
|
<TextBox Grid.Column="1" TextChanged="TextBoxCustomers_OnTextChanged" Margin="3" VerticalContentAlignment="Center" x:Name="KlientenSuchTextBox" />
|
|
<Button Grid.Column="2" Style="{DynamicResource CloseButtonStyle}" Width="19" Height="19" Margin="0,3,3,3" ToolTip="Suchfeld leeren" Click="ClearCustomerSearchButton_OnClick" />
|
|
</Grid>
|
|
</Grid>
|
|
<ListView Grid.Row="1" ItemsSource="{Binding Path=FilteredCustomers, UpdateSourceTrigger=PropertyChanged}" Margin="0" Background="Transparent" BorderThickness="0">
|
|
<ListView.ItemContainerStyle>
|
|
<Style TargetType="{x:Type ListViewItem}">
|
|
<Setter Property="HorizontalContentAlignment" Value="{Binding Path=HorizontalContentAlignment, RelativeSource={RelativeSource AncestorLevel=1, AncestorType={x:Type ItemsControl}, Mode=FindAncestor}}" />
|
|
<Setter Property="VerticalContentAlignment" Value="{Binding Path=VerticalContentAlignment, RelativeSource={RelativeSource AncestorLevel=1, AncestorType={x:Type ItemsControl}, Mode=FindAncestor}}" />
|
|
<Setter Property="Margin" Value="0,2,2,0" />
|
|
<Setter Property="Template">
|
|
<Setter.Value>
|
|
<ControlTemplate>
|
|
<Grid>
|
|
<Border CornerRadius="5" MinHeight="25" Background="Transparent" />
|
|
<Border x:Name="ItemBorder" CornerRadius="5" MinHeight="25" Background="#FF000000">
|
|
<Border.OpacityMask>
|
|
<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
|
|
<GradientStop Color="#19000000" Offset="0" />
|
|
<GradientStop Color="#26000000" Offset="1" />
|
|
</LinearGradientBrush>
|
|
</Border.OpacityMask>
|
|
</Border>
|
|
<Border x:Name="ItemContent" CornerRadius="5" MinHeight="25">
|
|
<Grid HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Margin="5,3,5,3" OpacityMask="{x:Null}" SnapsToDevicePixels="True">
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="*" />
|
|
<ColumnDefinition Width="Auto" />
|
|
</Grid.ColumnDefinitions>
|
|
<CheckBox Tag="{Binding}" Content="{Binding Path=DetailDescription}" Click="ListItem_OnClick" VerticalAlignment="Center" FontSize="12" Foreground="#FFD2D2D2" FontFamily="Microsoft Sans Serif">
|
|
<CheckBox.IsChecked>
|
|
<MultiBinding Mode="OneWay" Converter="{StaticResource CheckBoxConverter}" ConverterParameter="Klienten">
|
|
<Binding Path="CustomerOid" Mode="OneWay" />
|
|
<Binding Path="DataContext" Mode="OneWay" UpdateSourceTrigger="PropertyChanged" RelativeSource="{RelativeSource FindAncestor, AncestorType={x:Type localView:BeWoView}}" />
|
|
</MultiBinding>
|
|
</CheckBox.IsChecked>
|
|
</CheckBox>
|
|
<Button x:Name="btn_showCustomerInformation" Width="15" Height="15" Grid.Column="1" Margin="5 0 5 0" Click="CustomerInformationButton_OnClick" Visibility="{Binding Converter={StaticResource InfoButtonVisibilityConverter}}" FontFamily="Microsoft Sans Serif" Content="i"/>
|
|
</Grid>
|
|
</Border>
|
|
</Grid>
|
|
<ControlTemplate.Triggers>
|
|
<Trigger Property="IsMouseOver" Value="True">
|
|
<Setter Property="OpacityMask" TargetName="ItemBorder">
|
|
<Setter.Value>
|
|
<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
|
|
<GradientStop Color="#33000000" Offset="0" />
|
|
<GradientStop Color="#66000000" Offset="1" />
|
|
</LinearGradientBrush>
|
|
</Setter.Value>
|
|
</Setter>
|
|
</Trigger>
|
|
<Trigger Property="ListBoxItem.IsSelected" Value="True">
|
|
<Setter Property="OpacityMask" TargetName="ItemBorder">
|
|
<Setter.Value>
|
|
<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
|
|
<GradientStop Color="#99000000" Offset="0" />
|
|
<GradientStop Color="#CC000000" Offset="1" />
|
|
</LinearGradientBrush>
|
|
</Setter.Value>
|
|
</Setter>
|
|
</Trigger>
|
|
<MultiTrigger>
|
|
<MultiTrigger.Conditions>
|
|
<Condition Property="ListBoxItem.IsSelected" Value="True" />
|
|
<Condition Property="Selector.IsSelectionActive" Value="False" />
|
|
</MultiTrigger.Conditions>
|
|
<Setter Property="OpacityMask" TargetName="ItemBorder">
|
|
<Setter.Value>
|
|
<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
|
|
<GradientStop Color="#99000000" Offset="0" />
|
|
<GradientStop Color="#B2000000" Offset="1" />
|
|
</LinearGradientBrush>
|
|
</Setter.Value>
|
|
</Setter>
|
|
</MultiTrigger>
|
|
</ControlTemplate.Triggers>
|
|
</ControlTemplate>
|
|
</Setter.Value>
|
|
</Setter>
|
|
</Style>
|
|
</ListView.ItemContainerStyle>
|
|
</ListView>
|
|
</Grid>
|
|
</TabItem>
|
|
<!-- #endregion Klientenauswahl -->
|
|
<!-- #region Ressourcenauswahl -->
|
|
<TabItem Visibility="{Binding ResourceControlsVisibility, UpdateSourceTrigger=PropertyChanged}" x:Name="RessourcenTabItem" Header="Ressourcen" Style="{StaticResource RessourcenTabItemStyle}">
|
|
<Grid>
|
|
<Grid.RowDefinitions>
|
|
<RowDefinition Height="Auto" />
|
|
<RowDefinition Height="*" />
|
|
</Grid.RowDefinitions>
|
|
<CheckBox Grid.Row="0" Content="Alle auswählen" Margin="3" x:Name="SelectAllResourcesCheckBox" Click="AllResourcesCheckBox_OnClick" />
|
|
<TreeView Grid.Row="1" BorderThickness="0" ItemsSource="{Binding Path=Categories2Resources, Mode=OneWay, UpdateSourceTrigger=PropertyChanged}"
|
|
Background="Transparent" ItemContainerStyle="{StaticResource ResourceTreeViewStyle}">
|
|
<TreeView.ItemTemplate>
|
|
<HierarchicalDataTemplate ItemsSource="{Binding Path=Value}">
|
|
<Border BorderBrush="{x:Null}" Height="23">
|
|
<TextBlock FontWeight="Bold" Text="{Binding Path=Key.ResourceCategory}" VerticalAlignment="Center" />
|
|
</Border>
|
|
<HierarchicalDataTemplate.ItemTemplate>
|
|
<DataTemplate>
|
|
<Border BorderThickness="0 0 0 0" BorderBrush="{Binding DataContract.Color}"
|
|
Tag="{Binding}"
|
|
Margin="1" Height="23">
|
|
<StackPanel Orientation="Horizontal" VerticalAlignment="Center">
|
|
<CheckBox Click="ListItem_OnClick" Checked="ResourceTreeViewCheckBox_OnChecked" Unchecked="ResourceTreeViewCheckBox_OnChecked"
|
|
IsChecked="{Binding Path=(schedulingUtils:TreeViewItemHelper.IsChecked), Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" >
|
|
<CheckBox.Style>
|
|
<Style TargetType="{x:Type CheckBox}">
|
|
<Setter Property="Foreground" Value="Black"/>
|
|
<Setter Property="Visibility" Value="Visible"/>
|
|
<Style.Triggers>
|
|
<DataTrigger Binding="{Binding Path=(schedulingUtils:TreeViewItemHelper.IsChecked)}" Value="False" />
|
|
</Style.Triggers>
|
|
</Style>
|
|
</CheckBox.Style>
|
|
</CheckBox>
|
|
<Rectangle VerticalAlignment="Center" Stroke="Black" StrokeThickness="1" Margin="1,0,1,0" Height="10" Width="10"
|
|
Fill="{Binding DataContract.Color, Converter={StaticResource StringBrushConverter}}" />
|
|
<TextBlock VerticalAlignment="Center" Text="{Binding Path=DataContract.Name}" />
|
|
</StackPanel>
|
|
</Border>
|
|
</DataTemplate>
|
|
</HierarchicalDataTemplate.ItemTemplate>
|
|
</HierarchicalDataTemplate>
|
|
</TreeView.ItemTemplate>
|
|
</TreeView>
|
|
</Grid>
|
|
</TabItem>
|
|
<!-- #endregion Ressourcenauswahl -->
|
|
</TabControl>
|
|
<!--#region Liste aller ausgewählten Mitarbeiter, Klienten, und Ressourcen -->
|
|
<Grid>
|
|
<Grid.RowDefinitions>
|
|
<RowDefinition Height="*" />
|
|
<RowDefinition Height="Auto" />
|
|
</Grid.RowDefinitions>
|
|
<GroupBox Header="Ausgewählte Elemente" Style="{StaticResource ObjectEditGroupBox}" Grid.Row="0" Margin="0,3,0,0">
|
|
<ListBox Background="Transparent" ItemsSource="{Binding Path=SelectedItems}" IsSynchronizedWithCurrentItem="True"
|
|
HorizontalAlignment="Stretch" VerticalAlignment="Stretch" HorizontalContentAlignment="Stretch"
|
|
ItemContainerStyle="{DynamicResource MultiElementSelectionControlStyle}">
|
|
<ListBox.Template>
|
|
<ControlTemplate TargetType="{x:Type ListBox}">
|
|
<Border x:Name="Bd" SnapsToDevicePixels="True" Background="{TemplateBinding Background}" BorderBrush="{TemplateBinding BorderBrush}">
|
|
<ScrollViewer Focusable="False" Padding="{TemplateBinding Padding}" HorizontalScrollBarVisibility="Disabled">
|
|
<ItemsPresenter SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" />
|
|
</ScrollViewer>
|
|
</Border>
|
|
</ControlTemplate>
|
|
</ListBox.Template>
|
|
</ListBox>
|
|
</GroupBox>
|
|
<Button Grid.Row="1" Content="Auswahl aufheben" Height="23" HorizontalAlignment="Stretch" Click="AuswahlAufhebenClick" Margin="30,0,5,0" />
|
|
</Grid>
|
|
<!--#endregion /Liste aller ausgewählten Mitarbeiter, Klienten, und Ressourcen -->
|
|
</UniformGrid>
|
|
</Grid>
|
|
<!--#region Filter oben links -->
|
|
<StackPanel x:Name="FilterCheckBoxenStackPanel" Orientation="Vertical" Grid.Column="1" HorizontalAlignment="Center">
|
|
<CheckBox x:Name="MitarbeiterEbenenCheckBox" Visibility="{Binding EmployeeControlsVisibility, UpdateSourceTrigger=PropertyChanged}" Content="{markup:Translate Nur Mitarbeiter}" SnapsToDevicePixels="True" Margin="0,3,0,3" Checked="ListItem_OnClick" Unchecked="ListItem_OnClick" IsThreeState="False">
|
|
<CheckBox.LayoutTransform>
|
|
<RotateTransform CenterX="0.5" CenterY="0.5" Angle="270" />
|
|
</CheckBox.LayoutTransform>
|
|
</CheckBox>
|
|
<CheckBox x:Name="KlientenEbenenCheckBox" Visibility="{Binding CustomerControlsVisibility, UpdateSourceTrigger=PropertyChanged}" Content="{markup:Translate Nur Klienten}" SnapsToDevicePixels="True" Margin="0,0,0,3" Checked="ListItem_OnClick" Unchecked="ListItem_OnClick" IsThreeState="False">
|
|
<CheckBox.LayoutTransform>
|
|
<RotateTransform CenterX="0.5" CenterY="0.5" Angle="270" />
|
|
</CheckBox.LayoutTransform>
|
|
</CheckBox>
|
|
<CheckBox x:Name="RessourcenEbenenCheckBox" Visibility="{Binding ResourceControlsVisibility, UpdateSourceTrigger=PropertyChanged}" Content="Nur Ressourcen" SnapsToDevicePixels="True" Margin="0,0,0,3" Checked="ListItem_OnClick" Unchecked="ListItem_OnClick" IsThreeState="False">
|
|
<CheckBox.LayoutTransform>
|
|
<RotateTransform CenterX="0.5" CenterY="0.5" Angle="270" />
|
|
</CheckBox.LayoutTransform>
|
|
</CheckBox>
|
|
</StackPanel>
|
|
<!--#endregion Filter oben links -->
|
|
<ToggleButton Grid.Column="1" Style="{StaticResource VerticalExpanderLookAlikeToggleBotton}" Width="23" Height="23" Margin="3" Click="LeftExpanderClick" x:Name="LeftExpanderButton" />
|
|
|
|
<!-- SchedulerControl -->
|
|
<dxsch:SchedulerControl x:Name="SchedulerControl"
|
|
Grid.Column="2"
|
|
FirstDayOfWeek="Monday"
|
|
dx:ThemeManager.ThemeName="Office2010Black"
|
|
ActiveViewType="WorkWeekView"
|
|
ToolTipMode="ToolTip"
|
|
SelectedAppointmentsSource="{Binding SelectedAppointments}"
|
|
SelectedInterval="{Binding Interval, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
|
|
EditOccurrenceWindowShowing="SchedulerControl_OnEditOccurrenceWindowShowing"
|
|
AppointmentWindowShowing="SchedulerControl_OnAppointmentWindowShowing"
|
|
CustomAllowAppointmentCreate="SchedulerControl_CustomAllowAppointmentCreate"
|
|
CustomAllowAppointmentEdit="SchedulerControl_CustomAllowAppointmentEdit"
|
|
CustomAllowAppointmentDrag="SchedulerControl_CustomAllowAppointmentDrag"
|
|
CustomAllowAppointmentResize="SchedulerControl_CustomAllowAppointmentResize"
|
|
CustomAllowAppointmentDragBetweenResources="SchedulerControl_CustomAllowAppointmentDragBetweenResources"
|
|
RecurrenceWindowShowing="SchedulerControl_OnRecurrenceWindowShowing"
|
|
DropAppointment="SchedulerControl_OnDropAppointment"
|
|
AppointmentRemoved="SchedulerControl_OnAppointmentRemoved"
|
|
CommitAppointmentResize="SchedulerControl_OnCommitAppointmentResize"
|
|
ToolTipContentTemplate="{StaticResource TooltipTemplate}"
|
|
PopupMenuShowing="SchedulerControl_OnPopupMenuShowing"
|
|
AppointmentAdded="SchedulerControl_OnAppointmentAdded"
|
|
PastingFromClipboard="SchedulerControl_OnPastingFromClipboard"
|
|
AppointmentRemoving="SchedulerControl_OnAppointmentRemoving"
|
|
>
|
|
<dxsch:SchedulerControl.OptionsContextMenu>
|
|
<dxsch:OptionsContextMenu>
|
|
<dxsch:OptionsContextMenu.CellContextMenuActions>
|
|
<!--
|
|
<dxb:RemoveAction ElementName="{x:Static Member=dxsch:DefaultBarItemNames.ContextMenu_Items_AppointmentDrop_Actions_CopyAppointmentsOnDrop}"/>
|
|
-->
|
|
<dxb:RemoveAction ElementName="{x:Static Member=dxsch:DefaultBarItemNames.ContextMenu_Items_Cell_Actions_NewRecurringEvent}" />
|
|
<dxb:RemoveAction ElementName="{x:Static Member=dxsch:DefaultBarItemNames.ContextMenu_Items_Cell_Actions_NewAllDayEvent}" />
|
|
<dxb:RemoveAction ElementName="{x:Static Member=dxsch:DefaultBarItemNames.ContextMenu_Items_Cell_Actions_Paste}" />
|
|
<dxb:RemoveAction ElementName="{x:Static Member=dxsch:DefaultBarItemNames.ContextMenu_Items_Cell_Actions_NewRecurringAppointment}" />
|
|
|
|
<dxb:InsertAction>
|
|
<dxb:BarButtonItem Content="Verfügbare Mitarbeiter anzeigen" ItemClick="EmployeeAvailabilityBarItem_OnItemClick" />
|
|
</dxb:InsertAction>
|
|
</dxsch:OptionsContextMenu.CellContextMenuActions>
|
|
<dxsch:OptionsContextMenu.AppointmentContextMenuActions>
|
|
<dxb:RemoveAction ElementName="{x:Static Member=dxsch:DefaultBarItemNames.ContextMenu_Items_Appointment_Options_ShowTimeAs}" />
|
|
<dxb:RemoveAction ElementName="{x:Static Member=dxsch:DefaultBarItemNames.ContextMenu_Items_Appointment_Options_LabelAs}" />
|
|
<dxb:RemoveAction ElementName="{x:Static Member=dxsch:DefaultBarItemNames.ContextMenu_Items_Appointment_Actions_Cut}" />
|
|
<dxb:RemoveAction ElementName="{x:Static Member=dxsch:DefaultBarItemNames.ContextMenu_Items_Appointment_Actions_Copy}" />
|
|
<dxb:RemoveAction ElementName="{x:Static Member=dxsch:DefaultBarItemNames.ContextMenu_Items_Appointment_Actions_Paste}" />
|
|
<dxb:InsertAction>
|
|
<dxb:BarItemSeparator Name="ZusagenStackSeperatorTop" />
|
|
</dxb:InsertAction>
|
|
<dxb:InsertAction>
|
|
<dxb:BarButtonItem Content="Zusagen" ItemClick="ConfirmParticipationBarButtonItem_OnClick" />
|
|
</dxb:InsertAction>
|
|
<dxb:InsertAction>
|
|
<dxb:BarButtonItem Content="Mit Vorbehalt zusagen" ItemClick="AcceptWithReservationParticipationBarButtonItem_OnClick" />
|
|
</dxb:InsertAction>
|
|
<dxb:InsertAction>
|
|
<dxb:BarButtonItem Content="Absagen" ItemClick="DeclineParticipationBarButtonItem_OnClick" />
|
|
</dxb:InsertAction>
|
|
<dxb:InsertAction>
|
|
<dxb:BarItemSeparator Name="ZusagenStackSeperatorBottom" />
|
|
</dxb:InsertAction>
|
|
<dxb:InsertAction>
|
|
<dxb:BarButtonItem Content="{markup:Translate In Zeiterfassung übertragen}" ItemClick="ZeiterfassungButtonItem_OnItemClick" />
|
|
</dxb:InsertAction>
|
|
<dxb:InsertAction>
|
|
<dxb:BarButtonItem Content="Verfügbare Mitarbeiter anzeigen" ItemClick="EmployeeAvailabilityBarItem_OnItemClick" />
|
|
</dxb:InsertAction>
|
|
</dxsch:OptionsContextMenu.AppointmentContextMenuActions>
|
|
</dxsch:OptionsContextMenu>
|
|
</dxsch:SchedulerControl.OptionsContextMenu>
|
|
<dxsch:SchedulerControl.OptionsWindows>
|
|
<dxsch:OptionsWindows AppointmentWindowType="{x:Type local:AppointmentEditView}" RecurrenceWindowType="{x:Type local:AppointmentRecurrenceEditView}" />
|
|
</dxsch:SchedulerControl.OptionsWindows>
|
|
<dxsch:SchedulerControl.DataSource>
|
|
<dxsch:DataSource AppointmentsSource="{Binding VMList}">
|
|
<dxsch:DataSource.AppointmentMappings>
|
|
<dxsch:AppointmentMappings
|
|
Id="Id"
|
|
LabelId="LabelKey"
|
|
Start="Start"
|
|
End="End"
|
|
Subject="Subject"
|
|
Description="Description"
|
|
AllDay="AllDay"
|
|
RecurrenceInfo="RecurrenceInfo"
|
|
Location="Location"
|
|
Type="EventType"
|
|
>
|
|
<dxsch:CustomFieldMapping Mapping="VMForCustomField" Name="VMForCustomField" />
|
|
<dxsch:CustomFieldMapping Mapping="EmployeeList" Name="EmployeeList" />
|
|
<dxsch:CustomFieldMapping Mapping="CustomerList" Name="CustomerList" />
|
|
<dxsch:CustomFieldMapping Mapping="ResourceList" Name="ResourceList" />
|
|
<dxsch:CustomFieldMapping Mapping="Originator" Name="Originator" />
|
|
<dxsch:CustomFieldMapping Mapping="SupportConceptList" Name="SupportConceptList" />
|
|
<dxsch:CustomFieldMapping Mapping="IsPrivate" Name="IsPrivate" />
|
|
<dxsch:CustomFieldMapping Mapping="IsAbsenceTime" Name="IsAbsenceTime" />
|
|
<dxsch:CustomFieldMapping Mapping="IsTask" Name="IsTask" />
|
|
<dxsch:CustomFieldMapping Mapping="TaskDescription" Name="TaskDescription" />
|
|
<dxsch:CustomFieldMapping Mapping="CompletedNotice" Name="CompletedNotice" />
|
|
<dxsch:CustomFieldMapping Mapping="CompletedDate" Name="CompletedDate" />
|
|
<dxsch:CustomFieldMapping Mapping="DueDate" Name="DueDate" />
|
|
<dxsch:CustomFieldMapping Mapping="DueTime" Name="DueTime" />
|
|
<dxsch:CustomFieldMapping Mapping="AppointmentColors" Name="AppointmentColors" />
|
|
<dxsch:CustomFieldMapping Mapping="BackgroundColor" Name="BackgroundColor" />
|
|
<dxsch:CustomFieldMapping Mapping="ForegroundColor" Name="ForegroundColor" />
|
|
<dxsch:CustomFieldMapping Mapping="CanBeEdited" Name="CanBeEdited" />
|
|
<dxsch:CustomFieldMapping Mapping="ToolTip" Name="ToolTip" />
|
|
<dxsch:CustomFieldMapping Mapping="ToolTipTimeVisibility" Name="ToolTipTimeVisibility" />
|
|
<dxsch:CustomFieldMapping Mapping="ToolTipResourcesVisibility" Name="ToolTipResourcesVisibility" />
|
|
<dxsch:CustomFieldMapping Mapping="ToolTipEmployeesVisibility" Name="ToolTipEmployeesVisibility" />
|
|
<dxsch:CustomFieldMapping Mapping="ToolTipCustomersVisibility" Name="ToolTipCustomersVisibility" />
|
|
<dxsch:CustomFieldMapping Mapping="ToolTipTrennstrichVisibility" Name="ToolTipTrennstrichVisibility" />
|
|
<dxsch:CustomFieldMapping Mapping="ToolTipZusageVisibility" Name="ToolTipZusageVisibility" />
|
|
<dxsch:CustomFieldMapping Mapping="ResourcesToolTip" Name="ResourcesToolTip" />
|
|
<dxsch:CustomFieldMapping Mapping="EmployeesToolTip" Name="EmployeesToolTip" />
|
|
<dxsch:CustomFieldMapping Mapping="CustomersToolTip" Name="CustomersToolTip" />
|
|
</dxsch:AppointmentMappings>
|
|
</dxsch:DataSource.AppointmentMappings>
|
|
</dxsch:DataSource>
|
|
</dxsch:SchedulerControl.DataSource>
|
|
<dxsch:DayView ShowAppointmentStatus="False"
|
|
AppointmentStyle="{StaticResource AppointmentStyle}"
|
|
ShowAllDayArea="True"
|
|
ResourcesPerPage="0"
|
|
ShowAppointmentRecurrenceImage="True"
|
|
ShowAllDayAppointmentRecurrenceImage="True"
|
|
AppointmentContentTemplate="{StaticResource VerticalAppointmentControl.ContentTemplate}"
|
|
AllDayAppointmentContentTemplate="{StaticResource HorizontalAppointmentControl.ContentTemplate}" />
|
|
|
|
<dxsch:WeekView ShowAppointmentStatus="False"
|
|
AppointmentStyle="{StaticResource AppointmentStyle}"
|
|
ShowAllDayArea="True"
|
|
ResourcesPerPage="0"
|
|
ShowAppointmentRecurrenceImage="True"
|
|
ShowAllDayAppointmentRecurrenceImage="True"
|
|
AppointmentContentTemplate="{StaticResource VerticalAppointmentControl.ContentTemplate}"
|
|
AllDayAppointmentContentTemplate="{StaticResource HorizontalAppointmentControl.ContentTemplate}" />
|
|
|
|
<dxsch:WorkWeekView ShowAppointmentStatus="False"
|
|
AppointmentStyle="{StaticResource AppointmentStyle}"
|
|
ShowAllDayArea="True"
|
|
ResourcesPerPage="0"
|
|
ShowAppointmentRecurrenceImage="True"
|
|
ShowAllDayAppointmentRecurrenceImage="True"
|
|
AppointmentContentTemplate="{StaticResource VerticalAppointmentControl.ContentTemplate}"
|
|
AllDayAppointmentContentTemplate="{StaticResource HorizontalAppointmentControl.ContentTemplate}" />
|
|
|
|
<dxsch:MonthView ShowAppointmentStatus="False"
|
|
AppointmentStyle="{StaticResource AppointmentStyle}"
|
|
ResourcesPerPage="0"
|
|
ShowAppointmentRecurrenceImage="True"
|
|
AppointmentContentTemplate="{StaticResource HorizontalAppointmentControl.ContentTemplate}" />
|
|
|
|
<dxsch:AgendaView ShowAppointmentStatus="False"
|
|
AppointmentStyle="{StaticResource AppointmentStyle}"
|
|
ShowAppointmentRecurrenceImage="True"
|
|
AppointmentContentTemplate="{StaticResource HorizontalAppointmentControl.ContentTemplate}" />
|
|
|
|
<dxsch:TimelineView ShowAppointmentStatus="False"
|
|
AppointmentStyle="{StaticResource AppointmentStyle}"
|
|
ResourcesPerPage="0"
|
|
ViewMode="Legacy"
|
|
ShowAppointmentRecurrenceImage="True"
|
|
AppointmentContentTemplate="{StaticResource HorizontalAppointmentControl.ContentTemplate}" />
|
|
</dxsch:SchedulerControl>
|
|
|
|
<ToggleButton Grid.Column="3" Style="{StaticResource VerticalRightExpanderLookAlikeToggleBotton}" Width="23" Height="23" Margin="3" Click="RightExpanderClick" x:Name="RightExpanderButton" />
|
|
<dxe:DateNavigator x:Name="DateNavigator" Grid.Column="4" HighlightSpecialDates="True" VerticalAlignment="Stretch" dx:ThemeManager.ThemeName="Office2010Black" SelectedDatesChanged="DateNavigator_OnSelectedDatesChanged" FirstDayOfWeek="Monday" CalendarView="Month">
|
|
<dxe:DateNavigator.StyleSettings>
|
|
<dxsch:SchedulerDateNavigatorStyleSettings Scheduler="{Binding ElementName=SchedulerControl}" />
|
|
</dxe:DateNavigator.StyleSettings>
|
|
</dxe:DateNavigator>
|
|
</Grid>
|
|
<Border Grid.Row="0" Grid.RowSpan="2" x:Name="PopupContent" />
|
|
|
|
<Popup Grid.Row="0" StaysOpen="True" Placement="MousePoint" Width="290" Height="80" Closed="popup_Closed" Opened="popup_Opened" x:Name="DeleteAppointmentsPopup">
|
|
<Grid Background="{StaticResource ControlBackground}" Margin="2,2,2,2">
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="Auto" />
|
|
<ColumnDefinition Width="*" />
|
|
</Grid.ColumnDefinitions>
|
|
<Grid.RowDefinitions>
|
|
<RowDefinition />
|
|
<RowDefinition />
|
|
</Grid.RowDefinitions>
|
|
<Label Grid.Column="0" Grid.Row="0" Content="Termine löschen bis: " Height="24" Margin="0,0,0,0" />
|
|
<dxe:DateEdit Grid.Column="1" Grid.Row="0" MaskType="DateTimeAdvancingCaret" Width="150" Height="24" VerticalAlignment="Center" Margin="0,0,0,0" x:Name="DeleteForGoodIntervalEndDateEdit" />
|
|
<StackPanel Grid.Column="0" Grid.Row="1" Grid.ColumnSpan="2" Orientation="Horizontal" HorizontalAlignment="Right" VerticalAlignment="Center" Margin="0,0,10,0">
|
|
<Button Content="OK" Click="DeleteAppointmentsForGood_Click" />
|
|
<Button Content="Abbrechen" Margin="3,0,0,0" Click="AbortDeletingAppointments_Click" />
|
|
</StackPanel>
|
|
</Grid>
|
|
</Popup>
|
|
</Grid>
|
|
</localView:BeWoView>
|