Die Abfrage nach der Ressourcenbelegung kommt nur ein mal und das Abbrechen des Speicherns hat keinen "kaputten" Reload zur Folge
Das Löschen eines Serientermins mit veränderten oder gelöschten Elementen führt zu keiner Exception mehr, da ich den Service-Aufruf auf synchron geändert habe.
Es gibt allerdings noch Bugs! -> Serientermin erstellen und ein Element davon ändern führt zu einer doppelten Abfrage, ausgelöst durch die Überlappungsprüfung, die eine Überlappung mit der Serie selbst feststellt!
1064 lines
81 KiB
XML
1064 lines
81 KiB
XML
<localView:BeWoView x:Class="BeWo.Scheduler.View.NewSchedulerView"
|
|
xmlns:localView="clr-namespace:BeWo.View"
|
|
xmlns:localSchConv="clr-namespace:BeWo.Scheduler.Converter"
|
|
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
|
xmlns:dx="http://schemas.devexpress.com/winfx/2008/xaml/core"
|
|
xmlns:dxe="http://schemas.devexpress.com/winfx/2008/xaml/editors"
|
|
xmlns:dxsch="http://schemas.devexpress.com/winfx/2008/xaml/scheduler"
|
|
xmlns:dxschint="http://schemas.devexpress.com/winfx/2008/xaml/scheduler/internal"
|
|
xmlns:dxscht="http://schemas.devexpress.com/winfx/2008/xaml/scheduler/themekeys"
|
|
xmlns:view="clr-namespace:BeWo.Scheduler.View"
|
|
xmlns:converter="clr-namespace:BeWo.Converter"
|
|
xmlns:dxb="http://schemas.devexpress.com/winfx/2008/xaml/bars"
|
|
xmlns:markup="clr-namespace:BeWo.MultiLanguage.Markup"
|
|
Height="Auto" Width="Auto" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Focusable="True">
|
|
<localView:BeWoView.Resources>
|
|
<ResourceDictionary>
|
|
<dxschint:ToolTipVisibilityToVisibilityConverter x:Key="ToolTipVisibilityConverter" />
|
|
<dx:BooleanToVisibilityConverter x:Key="boolToVisibilityConverter" />
|
|
<localSchConv:CheckBoxConverter x:Key="CheckBoxConverter" />
|
|
<localSchConv:NewCalendarBackgroundConverter x:Key="NewCalendarBackgroundConverter" />
|
|
<view:TextFromIDataContractConverter x:Key="TextFromIDataContractConverter" />
|
|
<view:AppointmentToolTipConverter x:Key="AppointmentToolTipConverter" />
|
|
<view:WidthAdditionMultiConverter x:Key="WidthAdditionMultiConverter" />
|
|
<view:FilterBackgroundConverter x:Key="DickbuttConverter" />
|
|
<view:EmployeeBrushConverter x:Key="EmployeeBrushConverter" />
|
|
<view:AppointmentBorderZusageConverter x:Key="AppointmentBorderZusageConverter" />
|
|
<view:NichtNochEinConverter x:Key="NichtNochEinConverter" />
|
|
|
|
<!-- Region Appointment Templates -->
|
|
|
|
<!-- Region VerticalAppointmentTemplate -->
|
|
<ControlTemplate x:Key="{dxscht:SchedulerViewThemeKey ResourceKey=VerticalAppointmentTemplate, IsThemeIndependent=true}" TargetType="{x:Type dxschint:VisualVerticalAppointmentControl}">
|
|
<!--<dxschint:AppointmentColorConvertControl x:Name="clrConvCtrl" ControlColor="{TemplateBinding ViewInfo, Converter={StaticResource AppointmentBackgroundConverter}}" SnapsToDevicePixels="True">-->
|
|
<!-- TODO: ändern! -->
|
|
<dxschint:AppointmentColorConvertControl x:Name="clrConvCtrl" ControlColor="{Binding Path=ViewInfo.CustomViewInfo[CustomFieldStorage].BackgroundColor.GradientStops[0].Color, RelativeSource={RelativeSource TemplatedParent}}" SnapsToDevicePixels="True">
|
|
<VisualStateManager.VisualStateGroups>
|
|
<VisualStateGroup x:Name="DraggedStates">
|
|
<VisualState x:Name="NotDragged">
|
|
<Storyboard>
|
|
<DoubleAnimation Storyboard.TargetProperty="(UIElement.Opacity)" Storyboard.TargetName="back" To="1" Duration="0:0:0.15" />
|
|
<DoubleAnimation Storyboard.TargetProperty="(UIElement.Opacity)" Storyboard.TargetName="ContentContainer" To="1" Duration="0:0:0.15" />
|
|
<DoubleAnimation Storyboard.TargetProperty="(UIElement.Opacity)" Storyboard.TargetName="Selection" To="1" Duration="0:0:0.15" />
|
|
</Storyboard>
|
|
</VisualState>
|
|
<VisualState x:Name="Dragged">
|
|
<Storyboard>
|
|
<DoubleAnimation Storyboard.TargetProperty="(UIElement.Opacity)" Storyboard.TargetName="back" To="0.2" Duration="0:0:0.15" />
|
|
<DoubleAnimation Storyboard.TargetProperty="(UIElement.Opacity)" Storyboard.TargetName="ContentContainer" To="0.2" Duration="0:0:0.15" />
|
|
<DoubleAnimation Storyboard.TargetProperty="(UIElement.Opacity)" Storyboard.TargetName="Selection" To="0.2" Duration="0:0:0.15" />
|
|
</Storyboard>
|
|
</VisualState>
|
|
</VisualStateGroup>
|
|
</VisualStateManager.VisualStateGroups>
|
|
<dxschint:AppointmentColorConvertControl.BaseColors>
|
|
<dxschint:ColorCollection>
|
|
<dxschint:ColorDefinition Value="#FFE4E4E4" Name="ColorDefinition_MiddleBorderGradient" />
|
|
</dxschint:ColorCollection>
|
|
</dxschint:AppointmentColorConvertControl.BaseColors>
|
|
<dxschint:AppointmentColorConvertControl.BaseBrushColors>
|
|
<dxschint:ColorCollection>
|
|
<dxschint:ColorDefinition Value="#FFBABABA" Name="ColorDefinition_BackBorder" />
|
|
<dxschint:ColorDefinition Value="#FF7A7A7A" Name="ColorDefinition_AppointmentSelection" />
|
|
</dxschint:ColorCollection>
|
|
</dxschint:AppointmentColorConvertControl.BaseBrushColors>
|
|
<Grid x:Name="PART_ToolTipContainer" dxsch:SchedulerControl.HitTestType="AppointmentContent" dxsch:SchedulerControl.SelectableIntervalViewInfo="{TemplateBinding ViewInfo}" Tag="{TemplateBinding ViewInfo}">
|
|
<!-- Region AppointmentToolTip -->
|
|
<ToolTipService.ToolTip>
|
|
<ToolTip Content="{TemplateBinding ViewInfo}" ContentTemplate="{Binding ViewInfo.View.AppointmentToolTipContentTemplate, RelativeSource={RelativeSource TemplatedParent}, UpdateSourceTrigger=PropertyChanged}"
|
|
Visibility="{Binding ViewInfo.View.AppointmentToolTipVisibility, RelativeSource={RelativeSource TemplatedParent}, Converter={StaticResource ToolTipVisibilityConverter}}">
|
|
</ToolTip>
|
|
</ToolTipService.ToolTip>
|
|
<!-- Endregion -->
|
|
<dxschint:AppointmentBorder x:Name="back" DefaultCornerRadius="4" Opacity="1" ViewInfo="{TemplateBinding ViewInfo}" Background="{Binding Path=ViewInfo.CustomViewInfo, RelativeSource={RelativeSource TemplatedParent}, Converter={StaticResource AppointmentBorderZusageConverter}}">
|
|
<dxschint:AppointmentBorder DefaultCornerRadius="3" DefaultMargin="2" ViewInfo="{TemplateBinding ViewInfo}" Background="{Binding Path=ViewInfo.CustomViewInfo[CustomFieldStorage].BackgroundColor, RelativeSource={RelativeSource TemplatedParent}}" BorderThickness="1" DefaultBorderThickness="1">
|
|
<dxschint:AppointmentBorder x:Name="AppointmentBorder" DefaultCornerRadius="2" DefaultMargin="0" ViewInfo="{TemplateBinding ViewInfo}" Background="Transparent">
|
|
<Grid>
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="Auto" />
|
|
<ColumnDefinition Width="*" />
|
|
<ColumnDefinition Width="Auto" />
|
|
</Grid.ColumnDefinitions>
|
|
<Border Width="10" CornerRadius="4,0,0,4" HorizontalAlignment="Left" SnapsToDevicePixels="True">
|
|
<Border.Background>
|
|
<MultiBinding Converter="{StaticResource EmployeeBrushConverter}">
|
|
<Binding Path="AllItems" RelativeSource="{RelativeSource FindAncestor, AncestorType={x:Type view:NewSchedulerView}}" UpdateSourceTrigger="PropertyChanged" />
|
|
<Binding Path="ViewInfo.CustomViewInfo" RelativeSource="{RelativeSource FindAncestor, AncestorType={x:Type dxschint:AppointmentBorder}}" UpdateSourceTrigger="PropertyChanged" />
|
|
<Binding Path="IsEmployeeBrushVisible" RelativeSource="{RelativeSource FindAncestor, AncestorType={x:Type view:NewSchedulerView}}" Mode="TwoWay" UpdateSourceTrigger="PropertyChanged" />
|
|
</MultiBinding>
|
|
</Border.Background>
|
|
</Border>
|
|
<Border SnapsToDevicePixels="True" Background="Transparent" Grid.Column="1" />
|
|
<Border Width="10" CornerRadius="0,4,4,0" HorizontalAlignment="Right" SnapsToDevicePixels="True" Grid.Column="2">
|
|
<Border.Background>
|
|
<MultiBinding Converter="{StaticResource DickbuttConverter}">
|
|
<Binding Path="AllItems" RelativeSource="{RelativeSource FindAncestor, AncestorType={x:Type view:NewSchedulerView}}" UpdateSourceTrigger="PropertyChanged" />
|
|
<Binding Path="ViewInfo.CustomViewInfo" RelativeSource="{RelativeSource FindAncestor, AncestorType={x:Type dxschint:AppointmentBorder}}" />
|
|
</MultiBinding>
|
|
</Border.Background>
|
|
</Border>
|
|
</Grid>
|
|
</dxschint:AppointmentBorder>
|
|
</dxschint:AppointmentBorder>
|
|
</dxschint:AppointmentBorder>
|
|
<Grid x:Name="ContentContainer" Margin="3,3,3,3">
|
|
<ContentPresenter x:Name="PART_Content" Grid.Column="0" Margin="5,4,5,0" Content="{TemplateBinding ViewInfo}" ContentTemplate="{TemplateBinding ContentTemplate}" />
|
|
</Grid>
|
|
<dxschint:AppointmentBorder x:Name="Selection" DefaultCornerRadius="4" HorizontalAlignment="Stretch" VerticalAlignment="Stretch"
|
|
DefaultBorderThickness="2" ViewInfo="{TemplateBinding ViewInfo}"
|
|
BorderBrush="Black"
|
|
Visibility="{Binding ViewInfo.Selected, RelativeSource={RelativeSource TemplatedParent}, Converter={StaticResource boolToVisibilityConverter}}" />
|
|
<!--ResizingHitTest Obere und untere Kanten-->
|
|
<Rectangle Fill="Transparent" Height="5" VerticalAlignment="Top" HorizontalAlignment="Stretch"
|
|
Visibility="{Binding Path=ViewInfo.CanResizeStart, RelativeSource={RelativeSource TemplatedParent},Converter={StaticResource boolToVisibilityConverter}}"
|
|
IsHitTestVisible="True"
|
|
dxsch:SchedulerControl.HitTestType="AppointmentResizingTopEdge"
|
|
dxsch:SchedulerControl.SelectableIntervalViewInfo="{TemplateBinding ViewInfo}"
|
|
Cursor="SizeNS">
|
|
</Rectangle>
|
|
<Rectangle Fill="Transparent" Height="5" VerticalAlignment="Bottom" HorizontalAlignment="Stretch"
|
|
IsHitTestVisible="True"
|
|
Visibility="{Binding Path=ViewInfo.CanResizeEnd, RelativeSource={RelativeSource TemplatedParent}, Converter={StaticResource boolToVisibilityConverter}}"
|
|
dxsch:SchedulerControl.HitTestType="AppointmentResizingBottomEdge"
|
|
dxsch:SchedulerControl.SelectableIntervalViewInfo="{TemplateBinding ViewInfo}"
|
|
Cursor="SizeNS">
|
|
</Rectangle>
|
|
</Grid>
|
|
</dxschint:AppointmentColorConvertControl>
|
|
</ControlTemplate>
|
|
<!--Endregion-->
|
|
|
|
<!-- Region VerticalAppointmentContentTemplate 1, 5 und x Tageansicht -->
|
|
<DataTemplate x:Key="{dxscht:SchedulerViewThemeKey ResourceKey=VerticalAppointmentContentTemplate, IsThemeIndependent=true}">
|
|
<Grid SnapsToDevicePixels="True" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Background="Transparent">
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="*" />
|
|
<ColumnDefinition Width="Auto" MinWidth="0" />
|
|
<ColumnDefinition Width="Auto" />
|
|
</Grid.ColumnDefinitions>
|
|
<Grid Grid.Column="0" Margin="0,0,0,5">
|
|
<Grid.RowDefinitions>
|
|
<RowDefinition Height="Auto" />
|
|
<RowDefinition Height="*" />
|
|
</Grid.RowDefinitions>
|
|
<TextBlock Grid.Row="0" Text="{Binding Subject}" TextWrapping="NoWrap" Margin="6,0,0,3" Foreground="{Binding Path=CustomViewInfo[CustomFieldStorage].ForegroundColor}" />
|
|
<TextBlock Grid.Row="1" Text="{Binding Location}" TextWrapping="Wrap" Margin="6,0,0,3" Foreground="{Binding Path=CustomViewInfo[CustomFieldStorage].ForegroundColor}" />
|
|
</Grid>
|
|
<dxschint:AppointmentImagesControl Grid.Column="1" ViewInfo="{Binding}" Orientation="Vertical" SnapsToDevicePixels="True" />
|
|
<Image Grid.Row="0" Grid.Column="2" Visibility="{Binding Path=CustomViewInfo[CustomFieldStorage].HasServiceRecordEntry, Converter={StaticResource BoolVisibilityConverter}}" Source="/BeWoPlaner;component/Ressources/Icons/HistoryDisabled.png" SnapsToDevicePixels="True" Height="20" Width="20" VerticalAlignment="Top" />
|
|
</Grid>
|
|
</DataTemplate>
|
|
<!--Endregion-->
|
|
|
|
<!-- Region Horizontal -->
|
|
<!-- HorizontalAppointmentTemplate -->
|
|
<ControlTemplate x:Key="{dxscht:SchedulerViewThemeKey ResourceKey=HorizontalAppointmentTemplate, IsThemeIndependent=true}"
|
|
TargetType="{x:Type dxschint:VisualHorizontalAppointmentControl}">
|
|
<dxschint:AppointmentColorConvertControl x:Name="clrConvCtrl" SnapsToDevicePixels="True" ControlColor="{Binding Path=ViewInfo.CustomViewInfo[CustomFieldStorage].BackgroundColor.GradientStops[0].Color, RelativeSource={RelativeSource TemplatedParent}}">
|
|
<VisualStateManager.VisualStateGroups>
|
|
<VisualStateGroup x:Name="DraggedStates">
|
|
<VisualState x:Name="NotDragged">
|
|
<Storyboard>
|
|
<DoubleAnimation Storyboard.TargetProperty="(UIElement.Opacity)" Storyboard.TargetName="back" To="1" Duration="0:0:0.25" />
|
|
<DoubleAnimation Storyboard.TargetProperty="(UIElement.Opacity)" Storyboard.TargetName="ContentContainer" To="1" Duration="0:0:0.25" />
|
|
<DoubleAnimation Storyboard.TargetProperty="(UIElement.Opacity)" Storyboard.TargetName="Selection" To="1" Duration="0:0:0.25" />
|
|
</Storyboard>
|
|
</VisualState>
|
|
<VisualState x:Name="Dragged">
|
|
<Storyboard>
|
|
<DoubleAnimation Storyboard.TargetProperty="(UIElement.Opacity)" Storyboard.TargetName="back" To="0.2" Duration="0:0:0.25" />
|
|
<DoubleAnimation Storyboard.TargetProperty="(UIElement.Opacity)" Storyboard.TargetName="ContentContainer" To="0.2" Duration="0:0:0.25" />
|
|
<DoubleAnimation Storyboard.TargetProperty="(UIElement.Opacity)" Storyboard.TargetName="Selection" To="0.2" Duration="0:0:0.25" />
|
|
</Storyboard>
|
|
</VisualState>
|
|
</VisualStateGroup>
|
|
</VisualStateManager.VisualStateGroups>
|
|
<dxschint:AppointmentColorConvertControl.BaseColors>
|
|
<dxschint:ColorCollection>
|
|
<dxschint:ColorDefinition Value="#FFE4E4E4" Name="ColorDefinition_MiddleBorderGradient" />
|
|
</dxschint:ColorCollection>
|
|
</dxschint:AppointmentColorConvertControl.BaseColors>
|
|
<dxschint:AppointmentColorConvertControl.BaseBrushColors>
|
|
<dxschint:ColorCollection>
|
|
<dxschint:ColorDefinition Value="#FFBABABA" Name="ColorDefinition_BackBorder" />
|
|
<dxschint:ColorDefinition Value="#FF7A7A7A" Name="ColorDefinition_AppointmentSelection" />
|
|
</dxschint:ColorCollection>
|
|
</dxschint:AppointmentColorConvertControl.BaseBrushColors>
|
|
<Grid x:Name="PART_ToolTipContainer" dxsch:SchedulerControl.HitTestType="AppointmentContent" dxsch:SchedulerControl.SelectableIntervalViewInfo="{TemplateBinding ViewInfo}">
|
|
<ToolTipService.ToolTip>
|
|
<ToolTip Content="{TemplateBinding ViewInfo}" ContentTemplate="{Binding ViewInfo.View.AppointmentToolTipContentTemplate, RelativeSource={RelativeSource TemplatedParent}, UpdateSourceTrigger=PropertyChanged}"
|
|
Visibility="{Binding ViewInfo.View.AppointmentToolTipVisibility, RelativeSource={RelativeSource TemplatedParent}, Converter={StaticResource ToolTipVisibilityConverter}}">
|
|
</ToolTip>
|
|
</ToolTipService.ToolTip>
|
|
<dxschint:AppointmentBorder x:Name="back" DefaultCornerRadius="4" Opacity="1" ViewInfo="{TemplateBinding ViewInfo}"
|
|
Background="{Binding Path=ViewInfo.CustomViewInfo, RelativeSource={RelativeSource TemplatedParent}, Converter={StaticResource AppointmentBorderZusageConverter}}">
|
|
<dxschint:AppointmentBorder DefaultCornerRadius="3" DefaultMargin="1" ViewInfo="{TemplateBinding ViewInfo}" Background="{Binding Path=ViewInfo.CustomViewInfo[CustomFieldStorage].BackgroundColor, RelativeSource={RelativeSource TemplatedParent}}" DefaultBorderThickness="1">
|
|
<dxschint:AppointmentBorder x:Name="AppointmentBorder" DefaultCornerRadius="2" DefaultMargin="0" ViewInfo="{TemplateBinding ViewInfo}" Background="Transparent">
|
|
<Grid>
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="Auto" />
|
|
<ColumnDefinition Width="*" />
|
|
<ColumnDefinition Width="Auto" />
|
|
</Grid.ColumnDefinitions>
|
|
<Border Width="10" CornerRadius="4,0,0,4" HorizontalAlignment="Left" SnapsToDevicePixels="True">
|
|
<Border.Background>
|
|
<MultiBinding Converter="{StaticResource EmployeeBrushConverter}">
|
|
<Binding Path="AllItems" RelativeSource="{RelativeSource FindAncestor, AncestorType={x:Type view:NewSchedulerView}}" UpdateSourceTrigger="PropertyChanged" />
|
|
<Binding Path="ViewInfo.CustomViewInfo" RelativeSource="{RelativeSource FindAncestor, AncestorType={x:Type dxschint:AppointmentBorder}}" />
|
|
<Binding Path="IsEmployeeBrushVisible" RelativeSource="{RelativeSource FindAncestor, AncestorType={x:Type view:NewSchedulerView}}" Mode="TwoWay" UpdateSourceTrigger="PropertyChanged" />
|
|
</MultiBinding>
|
|
</Border.Background>
|
|
</Border>
|
|
<Border SnapsToDevicePixels="True" Background="Transparent" Grid.Column="1" />
|
|
<Border Width="10" CornerRadius="0,4,4,0" HorizontalAlignment="Right" SnapsToDevicePixels="True" Grid.Column="2">
|
|
<Border.Background>
|
|
<MultiBinding Converter="{StaticResource DickbuttConverter}">
|
|
<Binding Path="AllItems" RelativeSource="{RelativeSource FindAncestor, AncestorType={x:Type view:NewSchedulerView}}" UpdateSourceTrigger="PropertyChanged" />
|
|
<Binding Path="ViewInfo.CustomViewInfo" RelativeSource="{RelativeSource FindAncestor, AncestorType={x:Type dxschint:AppointmentBorder}}" />
|
|
</MultiBinding>
|
|
</Border.Background>
|
|
</Border>
|
|
</Grid>
|
|
</dxschint:AppointmentBorder>
|
|
</dxschint:AppointmentBorder>
|
|
</dxschint:AppointmentBorder>
|
|
<Grid x:Name="ContentContainer" Margin="0,0,0,3">
|
|
<ContentPresenter x:Name="PART_Content" Grid.Row="0" Margin="3,0,3,0" Content="{TemplateBinding ViewInfo}" ContentTemplate="{TemplateBinding ContentTemplate}" />
|
|
</Grid>
|
|
<dxschint:AppointmentBorder x:Name="Selection" DefaultCornerRadius="4" HorizontalAlignment="Stretch" VerticalAlignment="Stretch"
|
|
DefaultBorderThickness="2" ViewInfo="{TemplateBinding ViewInfo}"
|
|
BorderBrush="Black"
|
|
Visibility="{Binding ViewInfo.Selected, RelativeSource={RelativeSource TemplatedParent}, Converter={StaticResource boolToVisibilityConverter}}" />
|
|
<Rectangle Fill="Transparent" Width="5" HorizontalAlignment="Left"
|
|
Visibility="{Binding ViewInfo.CanResizeStart, RelativeSource={RelativeSource TemplatedParent}, Converter={StaticResource boolToVisibilityConverter}}"
|
|
IsHitTestVisible="True"
|
|
dxsch:SchedulerControl.HitTestType="AppointmentResizingLeftEdge"
|
|
dxsch:SchedulerControl.SelectableIntervalViewInfo="{TemplateBinding ViewInfo}"
|
|
Cursor="SizeWE">
|
|
</Rectangle>
|
|
<Rectangle Fill="Transparent" Width="5" HorizontalAlignment="Right" IsHitTestVisible="True"
|
|
Visibility="{Binding Path=ViewInfo.CanResizeEnd, RelativeSource={RelativeSource TemplatedParent}, Converter={StaticResource boolToVisibilityConverter}}"
|
|
dxsch:SchedulerControl.HitTestType="AppointmentResizingRightEdge"
|
|
dxsch:SchedulerControl.SelectableIntervalViewInfo="{TemplateBinding ViewInfo}"
|
|
Cursor="SizeWE">
|
|
</Rectangle>
|
|
</Grid>
|
|
</dxschint:AppointmentColorConvertControl>
|
|
</ControlTemplate>
|
|
|
|
<!-- HorizontalAppointmentContentTemplate SameDay, WeekView und TimelineView -->
|
|
<DataTemplate x:Key="{dxscht:SchedulerViewThemeKey ResourceKey=HorizontalAppointmentSameDayContentTemplate, IsThemeIndependent=true}">
|
|
<dxschint:HorizontalAppointmentContentPanel ClipToBounds="True" HorizontalAlignment="Stretch" VerticalAlignment="Center">
|
|
<Grid Width="{Binding Path=ActualWidth, RelativeSource={RelativeSource AncestorLevel=1, AncestorType={x:Type dxschint:HorizontalAppointmentContentPanel}, Mode=FindAncestor}}">
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="Auto" />
|
|
<ColumnDefinition Width="Auto" />
|
|
<ColumnDefinition Width="Auto" />
|
|
<ColumnDefinition Width="*" />
|
|
<ColumnDefinition Width="Auto" />
|
|
</Grid.ColumnDefinitions>
|
|
<Grid.RowDefinitions>
|
|
<RowDefinition Height="Auto" />
|
|
<RowDefinition Height="*" />
|
|
</Grid.RowDefinitions>
|
|
<dxschint:HorizontalAppointmentStartClockControl Grid.Column="0" VerticalAlignment="Top" ViewInfo="{Binding}" Foreground="Black" Margin="11,6,0,0" />
|
|
<TextBlock Grid.Row="0" Grid.Column="1" Text="-" Foreground="Black" Margin="0,6,0,0" />
|
|
<dxschint:HorizontalAppointmentEndClockControl Grid.Row="0" Grid.Column="2" VerticalAlignment="Top" ViewInfo="{Binding}" Foreground="Black" Margin="0,6,0,0" />
|
|
|
|
<TextBlock Grid.Row="1" Grid.Column="0" Grid.ColumnSpan="4" Text="{Binding Subject}" VerticalAlignment="Center"
|
|
dxschint:VerticalAppointmentContentPanel.AlwaysOnNewRow="True" TextWrapping="Wrap" Margin="11,6,0,0"
|
|
Foreground="{Binding Path=CustomViewInfo[CustomFieldStorage].ForegroundColor}" />
|
|
|
|
<dxschint:AppointmentImagesControl Grid.Row="0" Grid.Column="4" Margin="0,4,10,0" ViewInfo="{Binding}" Orientation="Horizontal" VerticalAlignment="Top" HorizontalAlignment="Right" />
|
|
</Grid>
|
|
</dxschint:HorizontalAppointmentContentPanel>
|
|
</DataTemplate>
|
|
|
|
<!-- HorizontalAppointmentContentTemplate wird auf ganztägige Termine angewandt -->
|
|
<DataTemplate x:Key="{dxscht:SchedulerViewThemeKey ResourceKey=HorizontalAppointmentLongerThanADayContentTemplate, IsThemeIndependent=true}">
|
|
<Grid SnapsToDevicePixels="True" HorizontalAlignment="Stretch" VerticalAlignment="Center">
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="Auto" />
|
|
<ColumnDefinition Width="*" />
|
|
<ColumnDefinition Width="Auto" />
|
|
</Grid.ColumnDefinitions>
|
|
<StackPanel Grid.Column="0" Orientation="Horizontal" VerticalAlignment="Center">
|
|
<dxschint:AppointmentContinueStartDateControl ViewInfo="{Binding}" Margin="12, 4, 0, 2" Foreground="{Binding Path=CustomViewInfo[CustomFieldStorage].ForegroundColor}" VerticalAlignment="Center" />
|
|
<dxschint:HorizontalAppointmentStartClockControl ViewInfo="{Binding}" Margin="12, 4, 0, 2" VerticalAlignment="Center" />
|
|
</StackPanel>
|
|
<dxschint:HorizontalAppointmentContentPanel Grid.Column="1" ClipToBounds="True" VerticalAlignment="Center" Margin="2,0,2,0">
|
|
<dxschint:AppointmentImagesControl HorizontalAlignment="Center" ViewInfo="{Binding}" Orientation="Horizontal" />
|
|
<TextBlock Text="{Binding Subject}" VerticalAlignment="Center" TextWrapping="Wrap" Foreground="{Binding Path=CustomViewInfo[CustomFieldStorage].ForegroundColor}" Margin="8, 2, 0, 0" />
|
|
</dxschint:HorizontalAppointmentContentPanel>
|
|
<StackPanel Grid.Column="2" Orientation="Horizontal" VerticalAlignment="Center">
|
|
<dxschint:HorizontalAppointmentEndClockControl ViewInfo="{Binding}" Margin="0, 4, 12, 2" VerticalAlignment="Center" />
|
|
<dxschint:AppointmentContinueEndDateControl ViewInfo="{Binding}" Margin="0, 4, 12, 2" Foreground="{Binding Path=CustomViewInfo[CustomFieldStorage].ForegroundColor}" VerticalAlignment="Center" />
|
|
</StackPanel>
|
|
</Grid>
|
|
</DataTemplate>
|
|
<!-- Endregion-->
|
|
|
|
<!-- AppointmentToolTipContentTemplate -->
|
|
<DataTemplate x:Key="{dxscht:SchedulerViewThemeKey ResourceKey=AppointmentToolTipContentTemplate}">
|
|
<Grid>
|
|
<Grid.RowDefinitions>
|
|
<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=CustomViewInfo[CustomFieldStorage].ToolTipTimeVisibility}">
|
|
<TextBlock Text="{Binding Path=StartTimeText}" />
|
|
<TextBlock Text=" - " />
|
|
<TextBlock Text="{Binding Path=EndTimeText}" />
|
|
<TextBlock Text=" Uhr" Margin="0,0,4,0" />
|
|
</StackPanel>
|
|
<TextBlock Grid.Column="1" Text="{Binding Path=CustomViewInfo[CustomFieldStorage].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=CustomViewInfo[CustomFieldStorage].ToolTipTrennstrichVisibility}" />
|
|
|
|
<TextBlock Margin="0,0,3,0" Grid.Row="2" Grid.Column="0" Text="Ressourcen:" Visibility="{Binding Path=CustomViewInfo[CustomFieldStorage].ToolTipResourcesVisibility}" />
|
|
<TextBlock Grid.Row="2" Grid.Column="1" Text="{Binding Path=CustomViewInfo, Converter={StaticResource AppointmentToolTipConverter}, ConverterParameter=Ressourcen}"
|
|
Visibility="{Binding Path=CustomViewInfo[CustomFieldStorage].ToolTipResourcesVisibility}" />
|
|
|
|
<TextBlock Margin="0,0,3,0" Grid.Row="3" Grid.Column="0" Text="{markup:Translate Mitarbeiter:}" Visibility="{Binding Path=CustomViewInfo[CustomFieldStorage].ToolTipEmployeesVisibility}" />
|
|
|
|
<ListView Margin="-6,-3,0,0" Grid.Row="3" Background="Transparent" BorderThickness="0" ItemsSource="{Binding Path=CustomViewInfo[CustomFieldStorage].EmployeeList}" Grid.Column="1" Visibility="{Binding Path=CustomViewInfo[CustomFieldStorage].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 NichtNochEinConverter}}" BorderThickness="1" BorderBrush="DimGray" Width="5" Margin="0,0,3,0" />-->
|
|
<Border Grid.Column="0" Background="{Binding Converter={StaticResource NichtNochEinConverter}}" BorderThickness="1" BorderBrush="DimGray" Width="5" Margin="0,0,3,0" Visibility="{Binding Path=DataContext.CustomViewInfo[CustomFieldStorage].ToolTipZusageVisibility, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type ListView}}}" />
|
|
<TextBlock Grid.Column="1" Foreground="DimGray" Text="{Binding Converter={StaticResource NichtNochEinConverter}, ConverterParameter=GibName}" />
|
|
</Grid>
|
|
</DataTemplate>
|
|
</ListView.ItemTemplate>
|
|
</ListView>
|
|
|
|
<TextBlock Margin="0,0,3,0" Grid.Row="4" Grid.Column="0" Text="{markup:Translate Klienten:}" Visibility="{Binding Path=CustomViewInfo[CustomFieldStorage].ToolTipCustomersVisibility}" />
|
|
<TextBlock Grid.Row="4" Grid.Column="1" Text="{Binding Path=CustomViewInfo, Converter={StaticResource AppointmentToolTipConverter}, ConverterParameter=Klienten}"
|
|
Visibility="{Binding Path=CustomViewInfo[CustomFieldStorage].ToolTipCustomersVisibility}" />
|
|
</Grid>
|
|
</DataTemplate>
|
|
|
|
<!-- DragDropHoverTimeCellsStyle -->
|
|
<Style TargetType="{x:Type dxschint:VisualDraggedAppointmentControl}" x:Key="{dxscht:SchedulerViewThemeKey ResourceKey=DragDropHoverTimeCellsStyle, IsThemeIndependent=true}">
|
|
<Setter Property="Template">
|
|
<Setter.Value>
|
|
<ControlTemplate>
|
|
<Border Background="Black" CornerRadius="5" Opacity="0.25" Margin="1,0,1,0">
|
|
<Border Background="Black" Margin="2" CornerRadius="4" />
|
|
</Border>
|
|
</ControlTemplate>
|
|
</Setter.Value>
|
|
</Setter>
|
|
</Style>
|
|
<!-- Endregion -->
|
|
|
|
<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>
|
|
<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="btnRemoveElement" Grid.Column="2" Grid.RowSpan="2" Width="20" Height="20" ToolTip="Element aus der Liste entfernen" Tag="{Binding}" Style="{DynamicResource CloseButtonStyle}" Click="BtnRemoveElement_Click" 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>
|
|
</ResourceDictionary>
|
|
</localView:BeWoView.Resources>
|
|
<Grid x:Name="GridRoot" Grid.IsSharedSizeScope="True">
|
|
<Grid.RowDefinitions>
|
|
<RowDefinition Height="Auto" />
|
|
<RowDefinition Height="*" />
|
|
</Grid.RowDefinitions>
|
|
<Grid Grid.Column="0" Grid.Row="0" x:Name="TopBarGrid">
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="Auto" />
|
|
<ColumnDefinition Width="Auto" />
|
|
<ColumnDefinition Width="*" />
|
|
<ColumnDefinition Width="Auto" />
|
|
<ColumnDefinition Width="Auto" />
|
|
</Grid.ColumnDefinitions>
|
|
<StackPanel Grid.Column="0" Grid.Row="0" Orientation="Horizontal" 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="ButtonDayView_Click">
|
|
<Image Source="/BeWoPlaner;component/Ressources/Icons/Calendar1Day24.png" />
|
|
</Button>
|
|
<Button Margin="1" Height="24" Width="24" ToolTip="Arbeitswoche anzeigen" Click="ButtonWorkWeekView_Click">
|
|
<Image Source="/BeWoPlaner;component/Ressources/Icons/Calendar5Day24.png" />
|
|
</Button>
|
|
<Button Margin="1" Height="24" Width="24" ToolTip="Volle Woche anzeigen" Click="ButtonWeekView_Click">
|
|
<Image Source="/BeWoPlaner;component/Ressources/Icons/Calendar7Day24.png" />
|
|
</Button>
|
|
<Button Margin="1" Height="24" Width="24" ToolTip="Monat anzeigen" Click="ButtonMonthView_Click">
|
|
<Image Source="/BeWoPlaner;component/Ressources/Icons/Calendar31Day24.png" />
|
|
</Button>
|
|
<Button Margin="1" Height="24" Width="24" ToolTip="Zeitleiste anzeigen" Click="ButtonTimelineView_Click">
|
|
<Image Source="/BeWoPlaner;component/Ressources/Icons/History24.png" />
|
|
</Button>
|
|
<Button Margin="1" Height="24" Width="24" ToolTip="Termine löschen" x:Name="ButtonDeleteAppointments" Click="ButtonDeleteAppointmentsInInterval_Click">
|
|
<Image Source="/BeWoPlaner;component/Ressources/Icons/Delete24.png" />
|
|
</Button>
|
|
<StackPanel x:Name="DayViewOptions" Orientation="Horizontal" Visibility="Visible">
|
|
<Label VerticalAlignment="Center" Content="anz Tage:" />
|
|
<dxe:SpinEdit MaxValue="100" VerticalAlignment="Center" x:Name="SpinEditDayViewDayCount" AllowNullInput="False" Height="23" Width="50" IsFloatValue="False" EditValueChanged="SpinEditDayViewDayCount_EditValueChanged" />
|
|
</StackPanel>
|
|
<StackPanel x:Name="TimelineViewOptions" Orientation="Horizontal" Visibility="Collapsed">
|
|
<Label VerticalAlignment="Center" Content="anz Tage:" />
|
|
<dxe:SpinEdit MaxValue="100" VerticalAlignment="Center" x:Name="SpinEditTimelineViewDayCount" AllowNullInput="False" Height="23" Width="50" IsFloatValue="False" 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"/>
|
|
</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="*" />
|
|
<ColumnDefinition Width="Auto" />
|
|
<ColumnDefinition Width="Auto" />
|
|
</Grid.ColumnDefinitions>
|
|
<CheckBox Grid.Column="0" Content="{markup:Translate Mitarbeiterfarben}" x:Name="MitarbeiterfarbenEinAusCheckBox" Checked="MitarbeiterfarbenEinAusCheckBox_OnChecked"
|
|
Unchecked="MitarbeiterfarbenEinAusCheckBox_OnChecked"
|
|
IsChecked="{Binding Path=IsEmployeeBrushVisible, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type view:NewSchedulerView}}, Mode=TwoWay}" />
|
|
<CheckBox Grid.Column="1" Content="Abwesenheiten" Margin="10,0,0,0" x:Name="AbwesenheitenEinAusCheckBox" Checked="AbwesenheitenEinAusCheckBox_OnChecked"
|
|
Unchecked="AbwesenheitenEinAusCheckBox_OnChecked"
|
|
IsChecked="{Binding Path=IsAbsenceTimeVisible, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type view:NewSchedulerView}}, Mode=TwoWay}" />
|
|
<CheckBox Grid.Column="2" Margin="10,0,0,0" VerticalAlignment="Center" Content="Aufgaben" x:Name="ShowTasksCheckBox" Click="ShowTasksCheckBox_OnClick" />
|
|
<TextBlock IsEnabled="{Binding Enabled, UpdateSourceTrigger=PropertyChanged}" Grid.Column="0" Grid.ColumnSpan="3" VerticalAlignment="Center" HorizontalAlignment="Center">
|
|
<Hyperlink RequestNavigate="ShowAppointmentRequests" NavigateUri="#" IsEnabled="{Binding Enabled, UpdateSourceTrigger=PropertyChanged}">
|
|
<TextBlock Text="{Binding Requests, UpdateSourceTrigger=PropertyChanged}" />
|
|
</Hyperlink>
|
|
</TextBlock>
|
|
<CheckBox Grid.Column="3" 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>
|
|
<CheckBox x:Name="ZeigeNurMeineTermineCheckBox" Grid.Row="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" x:Name="TabControl">
|
|
<TabItem Header="{markup:Translate Mitarbeiter}" Style="{StaticResource MitarbeiterTabItemStyle}" x:Name="MitarbeiterTabItem">
|
|
<Grid x:Name="MitarbeiterTabGrid">
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="*" />
|
|
<ColumnDefinition Width="Auto" />
|
|
</Grid.ColumnDefinitions>
|
|
<Grid.RowDefinitions>
|
|
<RowDefinition Height="Auto" />
|
|
<RowDefinition Height="Auto" />
|
|
<RowDefinition Height="*" />
|
|
</Grid.RowDefinitions>
|
|
<CheckBox Grid.Column="0" Content="Alle auswählen" Margin="3" x:Name="AlleMitarbeiterCB" Click="AlleMitarbeiterCB_OnClick" />
|
|
<ToggleButton Margin="3" Grid.Row="0" Grid.Column="1" Height="17" Width="36" Style="{StaticResource LupenToggleButtonStyle}" x:Name="MeinTB" Checked="MeinTB_OnChecked" Unchecked="MeinTB_OnChecked" />
|
|
<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="*" />
|
|
</Grid.ColumnDefinitions>
|
|
<Label Content="Suche:" Grid.Column="0" Foreground="White" />
|
|
<TextBox x:Name="MitarbeiterSuchTextBox" Grid.Column="1" TextChanged="TextBoxEmployees_OnTextChanged" Margin="3" VerticalContentAlignment="Center" />
|
|
</Grid>
|
|
<ListView Grid.Column="0" Grid.ColumnSpan="2" Grid.Row="2" Margin="0" ItemsSource="{Binding Path=GefilterteMitarbeiter, UpdateSourceTrigger=PropertyChanged, Mode=TwoWay}" 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 Content="{Binding Path=DetailDescription}" PreviewMouseDown="MitarbeiterListe_OnClick" Checked="ListItemCheckedEvent" Unchecked="ListItemCheckedEvent" VerticalAlignment="Center" FontSize="12" Foreground="#FFD2D2D2" FontFamily="Microsoft Sans Serif">
|
|
<CheckBox.IsChecked>
|
|
<MultiBinding Converter="{StaticResource CheckBoxConverter}" ConverterParameter="Mitarbeiter">
|
|
<Binding Path="EmployeeOid" Mode="OneWay" />
|
|
<Binding Path="SelectedEmployees" Mode="TwoWay" UpdateSourceTrigger="PropertyChanged" RelativeSource="{RelativeSource FindAncestor, AncestorType={x:Type view:NewSchedulerView}}" />
|
|
</MultiBinding>
|
|
</CheckBox.IsChecked>
|
|
</CheckBox>
|
|
<Border Width="15" Height="15" Grid.Column="1" Background="{Binding Path=FilterableBrush}" CornerRadius="3" />
|
|
</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>
|
|
<TabItem x:Name="KlientenTabItem" 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 Grid.Row="0" Grid.Column="0" Content="Alle auswählen" Margin="3" x:Name="AlleKlientenCB" Click="AlleKlientennCB_OnClick" HorizontalAlignment="Left" HorizontalContentAlignment="Center" />
|
|
<CheckBox Grid.Row="0" Grid.Column="1" Content="{markup:Translate Nur meine Klienten}" Margin="3" x:Name="NurMeineKlientenCB" HorizontalAlignment="Right" Click="NurEigeneKlientenAnzeigen" IsThreeState="False" HorizontalContentAlignment="Center" />
|
|
<ToggleButton Margin="3" Grid.Row="0" Grid.Column="2" Height="17" Width="36" Style="{StaticResource LupenToggleButtonStyle}" x:Name="MeinTB2" Checked="MeinTB2_OnChecked" Unchecked="MeinTB2_OnChecked" />
|
|
<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="*" />
|
|
</Grid.ColumnDefinitions>
|
|
<Label Content="Suche:" Grid.Column="0" Foreground="White" />
|
|
<TextBox Grid.Column="1" TextChanged="TextBoxCustomers_OnTextChanged" Margin="3" VerticalContentAlignment="Center" x:Name="KlientenSuchTextBox" />
|
|
</Grid>
|
|
</Grid>
|
|
<ListView Grid.Row="1" ItemsSource="{Binding Path=GefilterteKlienten}" 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">
|
|
<CheckBox Content="{Binding Path=DetailDescription}" PreviewMouseDown="KlientenListe_OnClick" Checked="ListItemCheckedEvent" Unchecked="ListItemCheckedEvent" VerticalAlignment="Center" FontSize="12" Foreground="#FFD2D2D2" FontFamily="Microsoft Sans Serif">
|
|
<CheckBox.IsChecked>
|
|
<MultiBinding Converter="{StaticResource CheckBoxConverter}" ConverterParameter="Klienten">
|
|
<Binding Path="CustomerOid" Mode="OneWay" />
|
|
<Binding Path="SelectedCustomers" Mode="TwoWay" UpdateSourceTrigger="PropertyChanged" RelativeSource="{RelativeSource FindAncestor, AncestorType={x:Type view:NewSchedulerView}}" />
|
|
</MultiBinding>
|
|
</CheckBox.IsChecked>
|
|
</CheckBox>
|
|
</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>
|
|
<TabItem 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="AlleRessourcenCB" Click="AlleRessourcenCB_OnClick" />
|
|
<TreeView Grid.Row="1" BorderThickness="0" ItemsSource="{Binding Path=Category2ResourcesDictionary, Mode=OneWay}" Background="Transparent" ItemContainerStyle="{StaticResource SupportConceptTreeViewStyle}">
|
|
<TreeView.ItemTemplate>
|
|
<HierarchicalDataTemplate ItemsSource="{Binding Path=Value}">
|
|
<Border BorderBrush="{x:Null}" Height="23">
|
|
<TextBlock FontWeight="Bold" Text="{Binding Path=Key}" VerticalAlignment="Center" />
|
|
</Border>
|
|
<HierarchicalDataTemplate.ItemTemplate>
|
|
<DataTemplate>
|
|
<Border BorderThickness="0 0 0 0" BorderBrush="{Binding Color}" Margin="1" Height="23">
|
|
<StackPanel Orientation="Horizontal" VerticalAlignment="Center">
|
|
<CheckBox PreviewMouseDown="RessourcenTV_OnClick" Checked="ListItemCheckedEvent" Unchecked="ListItemCheckedEvent">
|
|
<CheckBox.IsChecked>
|
|
<MultiBinding Converter="{StaticResource CheckBoxConverter}" ConverterParameter="Ressourcen" UpdateSourceTrigger="PropertyChanged" NotifyOnSourceUpdated="True">
|
|
<Binding Path="ResourceOid" Mode="OneWay" />
|
|
<Binding Path="SelectedResources" Mode="TwoWay" UpdateSourceTrigger="PropertyChanged" RelativeSource="{RelativeSource FindAncestor, AncestorType={x:Type view:NewSchedulerView}}" />
|
|
</MultiBinding>
|
|
</CheckBox.IsChecked>
|
|
</CheckBox>
|
|
<Rectangle VerticalAlignment="Center" Stroke="Black" StrokeThickness="1" Margin="1,0,1,0" Height="10" Width="10" Fill="{Binding Color, Converter={StaticResource StringBrushConverter}}" />
|
|
<TextBlock VerticalAlignment="Center" Text="{Binding Path=Name}" />
|
|
</StackPanel>
|
|
</Border>
|
|
</DataTemplate>
|
|
</HierarchicalDataTemplate.ItemTemplate>
|
|
</HierarchicalDataTemplate>
|
|
</TreeView.ItemTemplate>
|
|
</TreeView>
|
|
</Grid>
|
|
</TabItem>
|
|
</TabControl>
|
|
<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>
|
|
</UniformGrid>
|
|
</Grid>
|
|
<StackPanel x:Name="FilterCheckBoxenStackPanel" Orientation="Vertical" Grid.Column="1" HorizontalAlignment="Center">
|
|
<CheckBox x:Name="MitarbeiterEbenenCheckBox" Content="{markup:Translate Nur Mitarbeiter}" SnapsToDevicePixels="True" Margin="0,3,0,3" Checked="ListItemCheckedEvent" Unchecked="ListItemCheckedEvent" IsThreeState="False">
|
|
<CheckBox.LayoutTransform>
|
|
<RotateTransform CenterX="0.5" CenterY="0.5" Angle="270" />
|
|
</CheckBox.LayoutTransform>
|
|
</CheckBox>
|
|
<CheckBox x:Name="KlientenEbenenCheckBox" Content="{markup:Translate Nur Klienten}" SnapsToDevicePixels="True" Margin="0,0,0,3" Checked="ListItemCheckedEvent" Unchecked="ListItemCheckedEvent" IsThreeState="False">
|
|
<CheckBox.LayoutTransform>
|
|
<RotateTransform CenterX="0.5" CenterY="0.5" Angle="270" />
|
|
</CheckBox.LayoutTransform>
|
|
</CheckBox>
|
|
<CheckBox x:Name="RessourcenEbenenCheckBox" Content="Nur Ressourcen" SnapsToDevicePixels="True" Margin="0,0,0,3" Checked="ListItemCheckedEvent" Unchecked="ListItemCheckedEvent" IsThreeState="False">
|
|
<CheckBox.LayoutTransform>
|
|
<RotateTransform CenterX="0.5" CenterY="0.5" Angle="270" />
|
|
</CheckBox.LayoutTransform>
|
|
</CheckBox>
|
|
</StackPanel>
|
|
<ToggleButton Grid.Column="1" Style="{StaticResource VerticalExpanderLookAlikeToggleBotton}" Width="23" Height="23" Margin="3" Click="LeftExpanderClick" x:Name="LeftExpanderButton" />
|
|
|
|
<!-- SchedulerControl -->
|
|
<dxsch:SchedulerControl Grid.Column="2" x:Name="Scheduler" dx:ThemeManager.ThemeName="Office2010Black"
|
|
FormCustomizationUsingMVVMLocal="False"
|
|
InplaceEditorShowing="Scheduler_OnInplaceEditorShowing"
|
|
GroupType="None" AppointmentDrag="Scheduler_OnAppointmentDrag" AppointmentDrop="Scheduler_OnAppointmentDrop"
|
|
VerticalAlignment="Stretch"
|
|
EditAppointmentFormShowing="Scheduler_EditAppointmentFormShowing"
|
|
EditRecurrentAppointmentFormShowing="SchedulerControl_EditRecurrentAppointmentFormShowing"
|
|
PopupMenuShowing="Scheduler_PopupMenuShowing"
|
|
InitNewAppointment="Scheduler_InitNewAppointment"
|
|
AppointmentViewInfoCustomizing="Scheduler_AppointmentViewInfoCustomizing"
|
|
AllowAppointmentDrag="AllowAppointmentAenderung"
|
|
AllowAppointmentEdit="AllowAppointmentAenderung"
|
|
AllowAppointmentResize="AllowAppointmentAenderung"
|
|
AllowAppointmentCreate="AllowAppointmentCreateEvent"
|
|
AllowAppointmentDragBetweenResources="AllowAppointmentAenderung"
|
|
AllowAppointmentDelete="AllowAppointmentAenderung"
|
|
ActiveViewType="WorkWeek"
|
|
>
|
|
<dxsch:SchedulerControl.DayView>
|
|
<dxsch:DayView AppointmentToolTipContentTemplate="{StaticResource {dxscht:SchedulerViewThemeKey ResourceKey=AppointmentToolTipContentTemplate}}" />
|
|
</dxsch:SchedulerControl.DayView>
|
|
<dxsch:SchedulerControl.WorkWeekView>
|
|
<dxsch:WorkWeekView ShowFullWeek="True" AppointmentToolTipContentTemplate="{StaticResource {dxscht:SchedulerViewThemeKey ResourceKey=AppointmentToolTipContentTemplate}}" />
|
|
</dxsch:SchedulerControl.WorkWeekView>
|
|
<dxsch:SchedulerControl.WeekView>
|
|
<dxsch:WeekView AppointmentToolTipContentTemplate="{StaticResource {dxscht:SchedulerViewThemeKey ResourceKey=AppointmentToolTipContentTemplate}}" />
|
|
</dxsch:SchedulerControl.WeekView>
|
|
<dxsch:SchedulerControl.MonthView>
|
|
<dxsch:MonthView AppointmentToolTipContentTemplate="{StaticResource {dxscht:SchedulerViewThemeKey ResourceKey=AppointmentToolTipContentTemplate}}" />
|
|
</dxsch:SchedulerControl.MonthView>
|
|
<dxsch:SchedulerControl.TimelineView>
|
|
<dxsch:TimelineView AppointmentToolTipContentTemplate="{StaticResource {dxscht:SchedulerViewThemeKey ResourceKey=AppointmentToolTipContentTemplate}}" />
|
|
</dxsch:SchedulerControl.TimelineView>
|
|
<dxsch:SchedulerControl.Storage>
|
|
<dxsch:SchedulerStorage
|
|
AppointmentsChanged="NewSchedulerStorage_AppointmentsChanged"
|
|
AppointmentDeleting="NewSchedulerStorage_AppointmentDeleting"
|
|
AppointmentsInserted="NewSchedulerStorage_AppointmentsInserted"
|
|
FetchAppointments="SchedulerStorage_OnFetchAppointments"
|
|
>
|
|
<dxsch:SchedulerStorage.AppointmentStorage>
|
|
<dxsch:AppointmentStorage>
|
|
<dxsch:AppointmentStorage.Mappings>
|
|
<dxsch:AppointmentMapping Start="Start"
|
|
End="End"
|
|
Subject="Subject"
|
|
Description="Description"
|
|
Label="LabelId"
|
|
AllDay="AllDay"
|
|
ResourceId="ResourceId"
|
|
RecurrenceInfo="RecurrenceInfo"
|
|
ReminderInfo="ReminderInfo"
|
|
Location="Location"
|
|
Type="EventType"
|
|
Status="Status" />
|
|
</dxsch:AppointmentStorage.Mappings>
|
|
</dxsch:AppointmentStorage>
|
|
</dxsch:SchedulerStorage.AppointmentStorage>
|
|
<dxsch:SchedulerStorage.ResourceStorage>
|
|
<dxsch:ResourceStorage>
|
|
<dxsch:ResourceStorage.Mappings>
|
|
<dxsch:ResourceMapping Caption="Caption" Id="Id" />
|
|
</dxsch:ResourceStorage.Mappings>
|
|
</dxsch:ResourceStorage>
|
|
</dxsch:SchedulerStorage.ResourceStorage>
|
|
</dxsch:SchedulerStorage>
|
|
</dxsch:SchedulerControl.Storage>
|
|
<dxsch:SchedulerControl.DefaultMenuCustomizations>
|
|
<dxb:RemoveBarItemAndLinkAction ItemName="{x:Static dxsch:SchedulerMenuItemName.NewAllDayEvent}" />
|
|
<dxb:RemoveBarItemAndLinkAction ItemName="{x:Static dxsch:SchedulerMenuItemName.NewRecurringAppointment}" />
|
|
<dxb:RemoveBarItemAndLinkAction ItemName="{x:Static dxsch:SchedulerMenuItemName.NewRecurringEvent}" />
|
|
|
|
<dxb:AddBarItemAction>
|
|
<dxb:BarButtonItem Name="AufgabeAnlegenButtonItem" Content="{markup:Translate Neue Aufgabe}" ItemClick="AufgabeAnlegen_OnItemClick" />
|
|
</dxb:AddBarItemAction>
|
|
|
|
<dxb:AddBarItemAction>
|
|
<dxb:BarButtonItem Name="MitarbeiterVerfuegbarkeitPruefenButtonItem"
|
|
Content="{markup:Translate Verfügbare Mitarbeiter anzeigen}"
|
|
ItemClick="MitarbeiterVerfuegbarkeitPruefenButtonItem_OnItemClick" />
|
|
</dxb:AddBarItemAction>
|
|
|
|
<dxb:BarButtonItemLink BarItemName="MitarbeiterVerfuegbarkeitPruefenButtonItem" />
|
|
</dxsch:SchedulerControl.DefaultMenuCustomizations>
|
|
<dxsch:SchedulerControl.AppointmentMenuCustomizations>
|
|
<dxb:RemoveBarItemAndLinkAction ItemName="{x:Static dxsch:SchedulerMenuItemName.RestoreOccurrence}" />
|
|
<dxb:AddBarItemAction>
|
|
<dxb:BarButtonItem Name="RestoreAppointmentButtonItem" Content="Serientermin wiederherstellen" ItemClick="RestoreAppointmentButtonItem_OnItemClick" />
|
|
</dxb:AddBarItemAction>
|
|
<dxb:BarItemSeparator Name="ZusagenStackSeperatorTop"></dxb:BarItemSeparator>
|
|
<dxb:AddBarItemAction>
|
|
<dxb:BarButtonItem Name="ZusagenButtonItem" Content="Zusagen" ItemClick="ZusagenButtonItem_OnItemClick" />
|
|
</dxb:AddBarItemAction>
|
|
<dxb:AddBarItemAction>
|
|
<dxb:BarButtonItem Name="MitVorbehaltButtonItem" Content="Mit Vorbehalt zusagen" ItemClick="MitVorbehaltButtonItem_OnItemClick" />
|
|
</dxb:AddBarItemAction>
|
|
<dxb:AddBarItemAction>
|
|
<dxb:BarButtonItem Name="AbsagenButtonItem" Content="Absagen" ItemClick="AbsagenButtonItem_OnItemClick" />
|
|
</dxb:AddBarItemAction>
|
|
<dxb:BarItemSeparator Name="ZusagenStackSeperatorBottom"></dxb:BarItemSeparator>
|
|
<dxb:AddBarItemAction>
|
|
<dxb:BarButtonItem Name="ZeiterfassungButtonItem" Content="{markup:Translate In Zeiterfassung übertragen}" ItemClick="ZeiterfassungButtonItem_OnItemClick" />
|
|
</dxb:AddBarItemAction>
|
|
|
|
<dxb:AddBarItemAction>
|
|
<dxb:BarButtonItem Name="MitarbeiterVerfuegbarkeitPruefenButtonItem2"
|
|
Content="{markup:Translate Verfügbare Mitarbeiter anzeigen}"
|
|
ItemClick="MitarbeiterVerfuegbarkeitPruefenButtonItem_OnItemClick" />
|
|
</dxb:AddBarItemAction>
|
|
<dxb:RemoveBarItemAndLinkAction ItemName="{x:Static dxsch:SchedulerMenuItemName.StatusSubMenu}" />
|
|
<dxb:RemoveBarItemAndLinkAction ItemName="{x:Static dxsch:SchedulerMenuItemName.LabelSubMenu}" />
|
|
<dxb:BarButtonItemLink BarItemName="ZeiterfassungButtonItem" />
|
|
<dxb:BarButtonItemLink BarItemName="MitarbeiterVerfuegbarkeitPruefenButtonItem2" />
|
|
</dxsch:SchedulerControl.AppointmentMenuCustomizations>
|
|
</dxsch:SchedulerControl>
|
|
|
|
|
|
<dxsch:DXSchedulerControlPrintAdapter Grid.Column="0" x:Name="PrintAdapter" SchedulerControl="{Binding ElementName=Scheduler}" />
|
|
<ToggleButton Grid.Column="3" Style="{StaticResource VerticalRightExpanderLookAlikeToggleBotton}" Width="23" Height="23" Margin="3" Click="RightExpanderClick" x:Name="RightExpanderButton" />
|
|
<dxe:DateNavigator Grid.Column="4" Name="DateNavigator" HighlightSpecialDates="True" VerticalAlignment="Stretch" dx:ThemeManager.ThemeName="Office2010Black" SelectedDatesChanged="DateNavigator_OnSelectedDatesChanged">
|
|
<dxe:DateNavigator.StyleSettings>
|
|
<dxsch:SchedulerDateNavigatorStyleSettings SchedulerControl="{Binding ElementName=Scheduler}" />
|
|
</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>
|