Files
MauiCourse/AdventureWorks.MAUI/Views/UserDetailView.xaml

157 lines
6.8 KiB
XML

<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
x:Class="AdventureWorks.MAUI.Views.UserDetailView"
xmlns:partial="clr-namespace:AdventureWorks.MAUI.ViewsPartial"
xmlns:converters="clr-namespace:AdventureWorks.MAUI.Converters"
xmlns:vm="clr-namespace:AdventureWorks.EntityLayer.EntityClasses;assembly=AdventureWorks.EntityLayer"
x:DataType="vm:User"
Title="User Information">
<ContentPage.Resources>
<converters:InvertedBoolConverter x:Key="invertedBoolean" />
<vm:User x:Key="viewModel"
LoginId="JohnSmith123"
FirstName="John222"
LastName="Smith"
Email="john@smith.com"
Phone="615.222.2333"
PhoneType="Mobile"
IsFullTime="True"
IsEnrolledIn401k="True"
IsEnrolledInFlexTime="False"
IsEnrolledInHealthCare="True"
IsEnrolledInHSA="False"
IsActive="True"
BirthDate="10-03-1975"
/>
</ContentPage.Resources>
<Border Style="{StaticResource Border.Page}"
BindingContext="{StaticResource viewModel}" >
<ScrollView>
<Grid RowDefinitions="Auto, Auto, Auto, Auto, Auto, Auto, Auto, Auto, Auto,Auto, Auto, Auto , Auto"
ColumnDefinitions="Auto, *"
Style="{StaticResource Grid.Page}">
<partial:HeaderView Grid.Row="0"
Grid.ColumnSpan="2"
ViewTitle="User Information"
ViewDescription="Use this Screen to Modify User Information." />
<Label Grid.Row="1"
Text="Login ID" />
<VerticalStackLayout Grid.Row="1"
Grid.Column="1">
<Entry Text="{Binding LoginId}"
Placeholder="Please use a combination of letters and numbers."/>
<Label FontSize="Micro"
Text="Please use a combination of letters and numbers." />
</VerticalStackLayout>
<Label Grid.Row="2"
Text="First Name" />
<Entry Grid.Row="2"
Grid.Column="1"
Text="{Binding FirstName}"/>
<Label Grid.Row="3"
Text="Last Name" />
<Entry Grid.Row="3"
Grid.Column="1"
Text="{Binding LastName}"/>
<Label Grid.Row="4"
Text="Email Address" />
<Entry Grid.Row="4"
Grid.Column="1"
Text="{Binding Email}"/>
<Label Grid.Row="5" Text="Is Enrolled ?"/>
<FlexLayout Grid.Row="5"
Grid.Column="1"
Wrap="Wrap"
Direction="Row">
<HorizontalStackLayout>
<Label Text="401k?"/>
<CheckBox IsChecked="{Binding IsEnrolledIn401k}"/>
</HorizontalStackLayout>
<HorizontalStackLayout >
<Label Text="Flex Time?"/>
<CheckBox x:Name="FlexTime" IsChecked="{Binding IsEnrolledInFlexTime}"/>
</HorizontalStackLayout>
<HorizontalStackLayout >
<Label Text="Health Care?"/>
<CheckBox IsChecked="{Binding IsEnrolledInHealthCare}"/>
</HorizontalStackLayout>
<HorizontalStackLayout >
<Label Text="Health Savings Account?"/>
<CheckBox IsChecked="{Binding IsEnrolledInHSA}"/>
</HorizontalStackLayout>
</FlexLayout>
<Label Grid.Row="6"
Text="Still Employed"/>
<Switch Grid.Row="6"
Grid.Column="1"
IsToggled="{Binding IsActive}"/>
<Label Text="Employee Type"
Grid.Row="7"/>
<FlexLayout Grid.Row="7"
Grid.Column="1"
Wrap="Wrap"
Direction="Row">
<HorizontalStackLayout>
<Label Text="Full-Time"/>
<RadioButton x:Name="FullTime"
IsChecked="{Binding IsFullTime}"
GroupName="EmployeeType"/>
</HorizontalStackLayout>
<HorizontalStackLayout>
<Label Text="Part-Time"/>
<RadioButton GroupName="EmployeeType" IsChecked="{Binding IsFullTime, Converter={StaticResource invertedBoolean}}"/>
</HorizontalStackLayout>
</FlexLayout>
<Label Text="Birth Date"
Grid.Row="8"/>
<DatePicker Grid.Row="8"
Grid.Column="1"
Date="{Binding BirthDate}"
HorizontalOptions="Start"/>
<Label Text="Start Time"
Grid.Row="9"/>
<TimePicker Grid.Row="9"
Grid.Column="1"
Time="{Binding StartTime}"
IsEnabled="{Binding IsFullTime, Converter={StaticResource invertedBoolean}}"/>
<Label Text="Phone"
Grid.Row="10"/>
<FlexLayout Grid.Row="10"
Grid.Column="1"
Wrap="Wrap"
Direction="Row">
<HorizontalStackLayout>
<Entry MinimumWidthRequest="120"
Text="{Binding Phone}"/>
</HorizontalStackLayout>
<HorizontalStackLayout>
<Picker ItemsSource="{StaticResource phoneTypes}"
SelectedItem="{Binding PhoneType}"/>
</HorizontalStackLayout>
</FlexLayout>
<partial:AddressView Grid.Row="11"
Grid.ColumnSpan="2" />
<HorizontalStackLayout Grid.Row="12"
Grid.Column="1"
Spacing="5">
<Button Text="Save" Clicked="SaveButton_Clicked"/>
<Button Text="Cancel" />
</HorizontalStackLayout>
</Grid>
</ScrollView>
</Border>
</ContentPage>