Files
BeWoPlaner/BeWo/View/Detail/AbsenceTimesView.xaml
Rene Evertz 6f12c06078 Styles nur in PrototypeStyles.xaml
CustomerVermittlungArbeitView Control anpassungen
Xaml
2024-09-11 12:05:11 +02:00

266 lines
12 KiB
XML

<UserControl
x:Class="BeWo.View.Detail.AbsenceTimesView"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:controls="clr-namespace:BeWo.Controls;assembly=BeWo.Controls"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:dxe="http://schemas.devexpress.com/winfx/2008/xaml/editors"
xmlns:dxg="http://schemas.devexpress.com/winfx/2008/xaml/grid"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:validation="clr-namespace:BeWo.Validation"
x:Name="AbsenceTimeViewUserControl"
d:DataContext="{d:DesignData Type=AbsenceTimesView}"
d:DesignHeight="450"
d:DesignWidth="800"
mc:Ignorable="d">
<UserControl.Resources />
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="*" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<GroupBox
x:Name="GroupBoxNewAbsenceTime"
Grid.Row="1"
Grid.Column="0"
Grid.ColumnSpan="2"
Header="Abwesenheit hinzufügen"
Style="{StaticResource ObjectEditGroupBox}">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="*" />
<ColumnDefinition Width="*" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="*" />
<ColumnDefinition Width="*" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<Label Grid.Row="0" Grid.Column="0">Startdatum</Label>
<dxe:DateEdit
Grid.Row="0"
Grid.Column="1"
Grid.ColumnSpan="{Binding AbsenceTimes.NewVM.DateEditColumnSpan, UpdateSourceTrigger=PropertyChanged}"
Height="23"
Margin="3"
AllowNullInput="False"
EditValue="{Binding Path=AbsenceTimes.NewVM.Start, ValidatesOnDataErrors=True, UpdateSourceTrigger=PropertyChanged, Mode=TwoWay}"
MaskType="DateTimeAdvancingCaret" />
<dxe:TextEdit
x:Name="StartTimeTextEdit"
Grid.Row="0"
Grid.Column="2"
Height="23"
Margin="3"
EditValue="{Binding Path=AbsenceTimes.NewVM.StartTime, ValidatesOnDataErrors=True, UpdateSourceTrigger=PropertyChanged}"
InvalidValueBehavior="AllowLeaveEditor"
Mask="(0?\d|1\d|2[0-3]):[0-5]\d"
MaskShowPlaceHolders="True"
MaskType="RegEx"
MaskUseAsDisplayFormat="True"
ShowError="False"
ToolTipService.Placement="Mouse"
ValidateOnEnterKeyPressed="True"
ValidateOnTextInput="True"
Visibility="{Binding Path=AbsenceTimes.NewVM.IsAllDay, Converter={StaticResource BoolVisibilityHiddenConverter}, ConverterParameter=false, UpdateSourceTrigger=PropertyChanged}" />
<Label Grid.Row="0" Grid.Column="3">Enddatum</Label>
<dxe:DateEdit
Grid.Row="0"
Grid.Column="4"
Grid.ColumnSpan="{Binding AbsenceTimes.NewVM.DateEditColumnSpan, UpdateSourceTrigger=PropertyChanged}"
Height="23"
Margin="3"
AllowNullInput="True"
EditValue="{Binding Path=AbsenceTimes.NewVM.End, ValidatesOnDataErrors=True, UpdateSourceTrigger=PropertyChanged, Mode=TwoWay}"
MaskType="DateTimeAdvancingCaret" />
<dxe:TextEdit
x:Name="EndTimeTextEdit"
Grid.Row="0"
Grid.Column="5"
Height="23"
Margin="3"
EditValue="{Binding Path=AbsenceTimes.NewVM.EndTime, ValidatesOnDataErrors=True, UpdateSourceTrigger=PropertyChanged}"
InvalidValueBehavior="AllowLeaveEditor"
Mask="(0?\d|1\d|2[0-3]):[0-5]\d"
MaskShowPlaceHolders="True"
MaskType="RegEx"
MaskUseAsDisplayFormat="True"
ShowError="False"
ToolTipService.Placement="Mouse"
ValidateOnEnterKeyPressed="True"
ValidateOnTextInput="True"
Visibility="{Binding Path=AbsenceTimes.NewVM.IsAllDay, Converter={StaticResource BoolVisibilityHiddenConverter}, ConverterParameter=false, UpdateSourceTrigger=PropertyChanged}" />
<CheckBox
Grid.Row="0"
Grid.Column="6"
Margin="3"
VerticalAlignment="Center"
VerticalContentAlignment="Center"
Foreground="Black"
IsChecked="{Binding Path=AbsenceTimes.NewVM.IsAllDay, UpdateSourceTrigger=PropertyChanged}">
Ganztägig
</CheckBox>
<Label Grid.Row="1" Grid.Column="0">Kategorie</Label>
<controls:NullItemComboBox
Name="ComboBoxReasons"
Grid.Row="1"
Grid.Column="1"
Grid.ColumnSpan="2"
Height="23"
Margin="3"
ItemsSource="{Binding Path=AbsenceTimes.PossibleReasons}"
SelectedItem="{validation:ValidationBinding Path=AbsenceTimes.NewVM.Reason}">
<ComboBox.ItemContainerStyle>
<Style>
<Setter Property="Control.HorizontalContentAlignment" Value="Stretch" />
</Style>
</ComboBox.ItemContainerStyle>
</controls:NullItemComboBox>
<Label Grid.Row="1" Grid.Column="3">Erläuterung</Label>
<TextBox
Grid.Row="1"
Grid.Column="4"
Grid.ColumnSpan="3"
Height="23"
Margin="3"
Text="{Binding Path=AbsenceTimes.NewVM.Notice, UpdateSourceTrigger=PropertyChanged}" />
<Button
Grid.Row="2"
Grid.Column="0"
Grid.ColumnSpan="7"
Margin="1,10,0,3"
HorizontalAlignment="Right"
Command="{Binding AddAbsenceTimesCommand}"
Content="Abwesenheit hinzufügen"
Style="{DynamicResource {x:Type Button}}" />
</Grid>
</GroupBox>
<GroupBox
x:Name="GroupBoxAbsenceTimes"
Grid.Row="2"
Grid.Column="0"
Grid.ColumnSpan="2"
Header="Erfasste Abwesenheiten"
Style="{StaticResource ObjectEditGroupBox}">
<dxg:GridControl
x:Name="DataGridAbsenceTimes"
Grid.Row="1"
Grid.Column="0"
HorizontalAlignment="Stretch"
VerticalAlignment="Stretch"
ItemsSource="{Binding Path=AbsenceTimes.VMList}">
<dxg:GridControl.Columns>
<dxg:GridColumn
Width="24"
FieldName="Notice"
FixedWidth="True"
Header=""
ReadOnly="True">
<dxg:GridColumn.CellTemplate>
<DataTemplate>
<Button
Width="18"
Height="18"
VerticalAlignment="Center"
Command="{Binding RemoveAbsenceTimeCommand, ElementName=AbsenceTimeViewUserControl}"
Content="r"
FontFamily="Webdings" />
</DataTemplate>
</dxg:GridColumn.CellTemplate>
</dxg:GridColumn>
<dxg:GridColumn
AllowBestFit="True"
FieldName="Start"
Header="Startdatum"
SortOrder="Descending">
<dxg:GridColumn.EditSettings>
<dxe:DateEditSettings AllowNullInput="False" DisplayFormat="d" />
</dxg:GridColumn.EditSettings>
</dxg:GridColumn>
<dxg:GridColumn
AllowBestFit="True"
BestFitMode="Smart"
FieldName="StartTime"
Header="Startzeit">
<dxg:GridColumn.EditSettings>
<dxe:TextEditSettings
Mask="(0?\d|1\d|2[0-3]):[0-5]\d"
MaskShowPlaceHolders="True"
MaskType="RegEx"
MaskUseAsDisplayFormat="True"
ValidateOnEnterKeyPressed="True" />
</dxg:GridColumn.EditSettings>
</dxg:GridColumn>
<dxg:GridColumn
AllowBestFit="True"
FieldName="End"
Header="Enddatum">
<dxg:GridColumn.EditSettings>
<dxe:DateSettings AllowNullInput="True" />
</dxg:GridColumn.EditSettings>
</dxg:GridColumn>
<dxg:GridColumn
AllowBestFit="True"
BestFitMode="Smart"
FieldName="EndTime"
Header="Endzeit">
<dxg:GridColumn.EditSettings>
<dxe:TextEditSettings
Mask="(0?\d|1\d|2[0-3]):[0-5]\d"
MaskShowPlaceHolders="True"
MaskType="RegEx"
MaskUseAsDisplayFormat="True"
ValidateOnEnterKeyPressed="True" />
</dxg:GridColumn.EditSettings>
</dxg:GridColumn>
<dxg:GridColumn
AllowBestFit="True"
FieldName="Reason"
Header="Kategorie">
<dxg:GridColumn.EditSettings>
<dxe:ComboBoxEditSettings x:Name="AbsenceReasonComboBox" />
</dxg:GridColumn.EditSettings>
</dxg:GridColumn>
<dxg:GridColumn
AllowBestFit="True"
FieldName="Notice"
Header="Erläuterung" />
</dxg:GridControl.Columns>
<dxg:GridControl.View>
<dxg:TableView
AllowBestFit="True"
AutoWidth="true"
BestFitMode="Smart"
NavigationStyle="Cell"
ShowGroupPanel="False"
ShowGroupedColumns="false"
ShowTotalSummary="False" />
</dxg:GridControl.View>
</dxg:GridControl>
</GroupBox>
</Grid>
</UserControl>