Files
BeWoPlaner/BeWo/View/Detail/DienstView.xaml

194 lines
14 KiB
XML

<localView:BeWoView
xmlns:dxe="http://schemas.devexpress.com/winfx/2008/xaml/editors"
x:Class="BeWo.View.Detail.DienstView"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:localView="clr-namespace:BeWo.View"
xmlns:val="clr-namespace:BeWo.Validation"
xmlns:dxg="http://schemas.devexpress.com/winfx/2008/xaml/grid"
xmlns:validation="clr-namespace:BeWo.Validation"
xmlns:t="clr-namespace:BeWo.MultiLanguage.Markup"
xmlns:diagnostics="clr-namespace:System.Diagnostics;assembly=WindowsBase"
Height="Auto" Width="Auto" HorizontalAlignment="Stretch"
VerticalAlignment="Stretch" Focusable="True">
<GroupBox Name="root" Header="Aktuell definierte Dienste" Style="{StaticResource ObjectEditGroupBox}">
<ScrollViewer>
<Grid>
<Grid.Resources>
<DataTemplate x:Key="DropDownItemTemplate">
<Border Height="20" MinWidth="20" Background="{Binding}" BorderThickness="1" CornerRadius="2" HorizontalAlignment="Stretch" BorderBrush="Black" />
</DataTemplate>
<DataTemplate x:Key="SelectedItemTemplate">
<Border HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Background="{Binding}" BorderBrush="Black" BorderThickness="1" />
</DataTemplate>
</Grid.Resources>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<!--Erste Zeile-->
<Grid Grid.Column="0" Grid.Row="0">
<Grid.Resources>
<DataTemplate x:Key="DropDownItemTemplate">
<Border Height="20" MinWidth="20" Background="{Binding}" BorderThickness="1" CornerRadius="2" HorizontalAlignment="Stretch" BorderBrush="Black" />
</DataTemplate>
<DataTemplate x:Key="SelectedItemTemplate">
<Border HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Background="{Binding}" BorderBrush="Black" BorderThickness="1" />
</DataTemplate>
</Grid.Resources>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="*" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<Label Grid.Column="0" Content="Dienstname" Margin="3,3,0,3"/>
<dxe:TextEdit Grid.Column="1" x:Name="_TxtDienstname" Margin="0,3,3,3" MinWidth="200" Text="{val:ValidationBinding Path=NewVM.DienstName, UpdateSourceTrigger=PropertyChanged}"/>
<Label Grid.Column="2" Content="Kürzel" Margin="3,3,0,3"/>
<dxe:TextEdit Grid.Column="3" x:Name="_TxtDienstKurz" Margin="0,3,3,3" MinWidth="50" Text="{val:ValidationBinding Path=NewVM.Kurz, UpdateSourceTrigger=PropertyChanged}"/>
<ComboBox x:Name="_FarbeComboBox" HorizontalContentAlignment="Stretch" VerticalContentAlignment="Stretch" SelectedItem="{val:ValidationBinding Path=NewVM.Farbe}" Grid.Column="4" Height="23" Margin="3" ItemsSource="{Binding Path=AllBrushes, Mode=OneWay}" Width="50">
<ComboBox.ItemsPanel>
<ItemsPanelTemplate>
<UniformGrid Columns="12" Rows="12" IsItemsHost="True" />
</ItemsPanelTemplate>
</ComboBox.ItemsPanel>
<ComboBox.ItemContainerStyle>
<Style TargetType="{x:Type ComboBoxItem}">
<Setter Property="Margin" Value="2" />
<Setter Property="Padding" Value="0" />
</Style>
</ComboBox.ItemContainerStyle>
</ComboBox>
<ComboBox x:Name="_WohnheimeCombobox" HorizontalContentAlignment="Stretch" VerticalContentAlignment="Stretch" Grid.Column="5" Height="23" Margin="3" ItemsSource="{Binding Path=AllWohnheime, Mode=OneWay}" Width="200">
</ComboBox>
</Grid>
<!--Zweite Zeile-->
<Grid Grid.Column="0" Grid.Row="1">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="*" />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<Label x:Name="_lblStart" Grid.Column="0" Content="Start" Margin="3,3,0,3"/>
<dxe:TextEdit Grid.Column="1" MaskType="RegEx" Mask="(0?\d|1\d|2[0-3]):[0-5]\d" MinWidth="50" ShowError="False" MaskShowPlaceHolders="True" x:Name="_TxtStart"
MaskUseAsDisplayFormat="True" InvalidValueBehavior="AllowLeaveEditor" Height="23" Margin="0,3,3,3"
EditValue="{validation:ValidationBinding Path=NewVM.Start, UpdateSourceTrigger=PropertyChanged}" />
<Label x:Name="_lblEnde" Grid.Column="2" Content="Ende" Margin="3,3,0,3"/>
<dxe:TextEdit Grid.Column="3" MaskType="RegEx" Mask="(0?\d|1\d|2[0-3]):[0-5]\d" MinWidth="50" ShowError="False" MaskShowPlaceHolders="True" x:Name="_TxtEnde"
MaskUseAsDisplayFormat="True" InvalidValueBehavior="AllowLeaveEditor" Height="23" Margin="0,3,3,3"
EditValue="{validation:ValidationBinding Path=NewVM.Ende, UpdateSourceTrigger=PropertyChanged}" />
<dxe:CheckEdit x:Name="_CheckDauer" Grid.Column="4" Content="Dauer statt feste Zeiten festlegen" Margin="3,3,0,3" Foreground="Black" Checked="CheckEdit_Checked" Unchecked="CheckEdit_Unchecked"/>
<Label x:Name="_lblDauer" Grid.Column="0" Content="Dauer" Margin="3,3,0,3" Visibility="Collapsed"/>
<dxe:TextEdit Grid.Column="1" Grid.ColumnSpan="3" MaskType="Numeric" Mask="########0.00" MinWidth="50" ShowError="False" MaskShowPlaceHolders="True" x:Name="_TxtDauer"
MaskUseAsDisplayFormat="True" InvalidValueBehavior="AllowLeaveEditor" Height="23" Margin="0,3,3,3"
EditValue="{validation:ValidationBinding Path=NewVM.Dauer, UpdateSourceTrigger=PropertyChanged}" Visibility="Collapsed"/>
<Label Grid.Column="6" Content="Pause (min)" Margin="3,3,0,3"/>
<dxe:SpinEdit Name="_SpinPause" AllowNullInput="True" IsFloatValue="False" MinValue="0" Grid.Column="7" HorizontalAlignment="Left"
Height="23" Width="50" EditValue="{Binding Path=NewVM.Pause, Converter={StaticResource Int2DecimalConverter}, UpdateSourceTrigger=PropertyChanged}" />
<Button Grid.Column="8" Content="Hinzufügen" Click="Button_Click"/>
</Grid>
<!--Dritte Zeile-->
<dxg:GridControl x:Name="_GridControl" Margin="0,10,0,0" Grid.Column="0" Grid.Row="2" Grid.ColumnSpan="7" DataSource="{Binding VMList}">
<dxg:GridControl.Columns>
<dxg:GridColumn FieldName="IsDeleteable" Header="" FixedWidth="True" Width="24" ReadOnly="True">
<dxg:GridColumn.CellTemplate>
<DataTemplate>
<Button Content="r" IsEnabled="{Binding Path=EditValue}" FontFamily="Webdings" Click="DeleteButton_Click" Width="18" Height="18" VerticalAlignment="Center" />
</DataTemplate>
</dxg:GridColumn.CellTemplate>
</dxg:GridColumn>
<dxg:GridColumn FieldName="DienstName" Header="Dienstname" Width="200" />
<dxg:GridColumn FieldName="Kurz" Header="Kürzel" Width="50" />
<dxg:GridColumn Header="Start" FixedWidth="True" Width="100" FieldName="Start" >
<dxg:GridColumn.EditSettings>
<dxe:TextEditSettings MaskType="RegEx" Mask="(0?\d|1\d|2[0-3]):[0-5]\d" MaskShowPlaceHolders="True" MaskUseAsDisplayFormat="True"/>
</dxg:GridColumn.EditSettings>
</dxg:GridColumn>
<dxg:GridColumn Header="Ende" FixedWidth="True" Width="100" FieldName="Ende" >
<dxg:GridColumn.EditSettings>
<dxe:TextEditSettings MaskType="RegEx" Mask="(0?\d|1\d|2[0-3]):[0-5]\d" MaskShowPlaceHolders="True" MaskUseAsDisplayFormat="True"/>
</dxg:GridColumn.EditSettings>
</dxg:GridColumn>
<dxg:GridColumn Header="Dauer" FixedWidth="True" Width="100" FieldName="Dauer" >
<dxg:GridColumn.EditSettings>
<dxe:TextEditSettings MaskType="Numeric" Mask="########0.00" MaskShowPlaceHolders="True" MaskUseAsDisplayFormat="True"/>
</dxg:GridColumn.EditSettings>
</dxg:GridColumn>
<dxg:GridColumn FieldName="Pause" Header="Pause" Width="100">
<dxg:GridColumn.EditSettings>
<dxe:TextEditSettings HorizontalContentAlignment="Left"/>
</dxg:GridColumn.EditSettings>
</dxg:GridColumn>
<dxg:GridColumn x:Name="_ColumnFarbe" FieldName="Farbe" Header="Farbe" Width="100">
<dxg:GridColumn.DisplayTemplate>
<ControlTemplate>
<Border HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Background="{Binding Value, diagnostics:PresentationTraceSources.TraceLevel=High }" BorderBrush="Black" BorderThickness="1" />
</ControlTemplate>
</dxg:GridColumn.DisplayTemplate>
<dxg:GridColumn.EditTemplate>
<ControlTemplate>
<Button x:Name="Part_Editor" BorderThickness="0" Style="{x:Null}" Background="{Binding EditValue}" Foreground="{Binding EditValue}" Height="21" HorizontalAlignment="Stretch" Click="Part_Editor_Click" />
</ControlTemplate>
</dxg:GridColumn.EditTemplate>
</dxg:GridColumn>
<dxg:GridColumn x:Name="_ColumnWohnheim" FieldName="Wohnheim" Header="{t:Translate Wohnprojekt}" Width="100">
<dxg:GridColumn.DisplayTemplate>
<ControlTemplate>
<Label Content="{Binding Value}" />
</ControlTemplate>
</dxg:GridColumn.DisplayTemplate>
<dxg:GridColumn.EditTemplate>
<ControlTemplate>
<Button x:Name="Button_WohnheimPicker" BorderThickness="0" Style="{x:Null}" Height="21" HorizontalAlignment="Stretch" Click="Button_WohnheimPicker_Click" />
</ControlTemplate>
</dxg:GridColumn.EditTemplate>
</dxg:GridColumn>
</dxg:GridControl.Columns>
<dxg:GridControl.View>
<dxg:TableView AutoWidth="true" ShowGroupPanel="False" ShowGroupedColumns="false" ShowTotalSummary="False" NavigationStyle="Cell"/>
</dxg:GridControl.View>
</dxg:GridControl>
<Popup x:Name="_PopupColorPicker" StaysOpen="false" Placement="MousePoint">
<ListBox x:Name="_Listbox_Colorpicker" BorderThickness="0" Loaded="ColorEditor_Loaded" SelectionChanged="Listbox_Colorpicker_SelectionChanged">
<ListBox.ItemsPanel>
<ItemsPanelTemplate>
<UniformGrid Columns="12" Rows="12" IsItemsHost="True" />
</ItemsPanelTemplate>
</ListBox.ItemsPanel>
<ListBox.ItemContainerStyle>
<Style TargetType="{x:Type ListBoxItem}">
<Setter Property="Margin" Value="2" />
<Setter Property="Padding" Value="0" />
</Style>
</ListBox.ItemContainerStyle>
</ListBox>
</Popup>
<Popup x:Name="_PopupWohnheimPicker" StaysOpen="false" Placement="MousePoint" Width="200">
<ComboBox x:Name="_Combobox_Wohnheimpicker" BorderThickness="0" Loaded="Listbox_Wohnheimpicker_Loaded" SelectionChanged="Combobox_Wohnheimpicker_SelectionChanged" Height="20"/>
</Popup>
</Grid>
</ScrollViewer>
</GroupBox>
</localView:BeWoView>