Click here to Skip to main content
15,898,134 members
Articles / Web Development / ASP.NET

A Silverlight Expense Report Module using View Model (MVVM)

Rate me:
Please Sign up or sign in to vote.
4.82/5 (18 votes)
30 Aug 2010Ms-PL6 min read 65K   2.5K   58  
This module allows you to easily gather, and process Expense Reports, from users in your DotNetNuke portal
  • expense_reports.zip
  • expense_reportssilverlightsource.zip
    • App.xaml
    • App.xaml.cs
    • Assets
    • Bin
      • Debug
        • AppManifest.xaml
        • ar
          • System.ComponentModel.DataAnnotations.resources.dll
          • System.Windows.Controls.Data.Input.resources.dll
          • System.Windows.Controls.Data.resources.dll
          • System.Windows.Controls.Input.resources.dll
          • System.Windows.Controls.resources.dll
        • bg
          • System.ComponentModel.DataAnnotations.resources.dll
          • System.Windows.Controls.Data.Input.resources.dll
          • System.Windows.Controls.Data.resources.dll
          • System.Windows.Controls.Input.resources.dll
          • System.Windows.Controls.resources.dll
        • ca
          • System.ComponentModel.DataAnnotations.resources.dll
          • System.Windows.Controls.Data.Input.resources.dll
          • System.Windows.Controls.Data.resources.dll
          • System.Windows.Controls.Input.resources.dll
          • System.Windows.Controls.resources.dll
        • cs
          • System.ComponentModel.DataAnnotations.resources.dll
          • System.Windows.Controls.Data.Input.resources.dll
          • System.Windows.Controls.Data.resources.dll
          • System.Windows.Controls.Input.resources.dll
          • System.Windows.Controls.resources.dll
        • da
          • System.ComponentModel.DataAnnotations.resources.dll
          • System.Windows.Controls.Data.Input.resources.dll
          • System.Windows.Controls.Data.resources.dll
          • System.Windows.Controls.Input.resources.dll
          • System.Windows.Controls.resources.dll
        • de
          • System.ComponentModel.DataAnnotations.resources.dll
          • System.Windows.Controls.Data.Input.resources.dll
          • System.Windows.Controls.Data.resources.dll
          • System.Windows.Controls.Input.resources.dll
          • System.Windows.Controls.resources.dll
          • System.Windows.Data.resources.dll
        • el
          • System.ComponentModel.DataAnnotations.resources.dll
          • System.Windows.Controls.Data.Input.resources.dll
          • System.Windows.Controls.Data.resources.dll
          • System.Windows.Controls.Input.resources.dll
          • System.Windows.Controls.resources.dll
        • es
          • System.ComponentModel.DataAnnotations.resources.dll
          • System.Windows.Controls.Data.Input.resources.dll
          • System.Windows.Controls.Data.resources.dll
          • System.Windows.Controls.Input.resources.dll
          • System.Windows.Controls.resources.dll
          • System.Windows.Data.resources.dll
        • et
          • System.ComponentModel.DataAnnotations.resources.dll
          • System.Windows.Controls.Data.Input.resources.dll
          • System.Windows.Controls.Data.resources.dll
          • System.Windows.Controls.Input.resources.dll
          • System.Windows.Controls.resources.dll
        • eu
          • System.ComponentModel.DataAnnotations.resources.dll
          • System.Windows.Controls.Data.Input.resources.dll
          • System.Windows.Controls.Data.resources.dll
          • System.Windows.Controls.Input.resources.dll
          • System.Windows.Controls.resources.dll
        • ExpenseReports.dll
        • ExpenseReports.pdb
        • ExpenseReports.xap
        • ExpenseReportsTestPage.html
        • fi
          • System.ComponentModel.DataAnnotations.resources.dll
          • System.Windows.Controls.Data.Input.resources.dll
          • System.Windows.Controls.Data.resources.dll
          • System.Windows.Controls.Input.resources.dll
          • System.Windows.Controls.resources.dll
        • fr
          • System.ComponentModel.DataAnnotations.resources.dll
          • System.Windows.Controls.Data.Input.resources.dll
          • System.Windows.Controls.Data.resources.dll
          • System.Windows.Controls.Input.resources.dll
          • System.Windows.Controls.resources.dll
          • System.Windows.Data.resources.dll
        • he
          • System.ComponentModel.DataAnnotations.resources.dll
          • System.Windows.Controls.Data.Input.resources.dll
          • System.Windows.Controls.Data.resources.dll
          • System.Windows.Controls.Input.resources.dll
          • System.Windows.Controls.resources.dll
        • hr
          • System.ComponentModel.DataAnnotations.resources.dll
          • System.Windows.Controls.Data.Input.resources.dll
          • System.Windows.Controls.Data.resources.dll
          • System.Windows.Controls.Input.resources.dll
          • System.Windows.Controls.resources.dll
        • hu
          • System.ComponentModel.DataAnnotations.resources.dll
          • System.Windows.Controls.Data.Input.resources.dll
          • System.Windows.Controls.Data.resources.dll
          • System.Windows.Controls.Input.resources.dll
          • System.Windows.Controls.resources.dll
        • id
          • System.ComponentModel.DataAnnotations.resources.dll
          • System.Windows.Controls.Data.Input.resources.dll
          • System.Windows.Controls.Data.resources.dll
          • System.Windows.Controls.Input.resources.dll
          • System.Windows.Controls.resources.dll
        • it
          • System.ComponentModel.DataAnnotations.resources.dll
          • System.Windows.Controls.Data.Input.resources.dll
          • System.Windows.Controls.Data.resources.dll
          • System.Windows.Controls.Input.resources.dll
          • System.Windows.Controls.resources.dll
          • System.Windows.Data.resources.dll
        • ja
          • System.ComponentModel.DataAnnotations.resources.dll
          • System.Windows.Controls.Data.Input.resources.dll
          • System.Windows.Controls.Data.resources.dll
          • System.Windows.Controls.Input.resources.dll
          • System.Windows.Controls.resources.dll
          • System.Windows.Data.resources.dll
        • ko
          • System.ComponentModel.DataAnnotations.resources.dll
          • System.Windows.Controls.Data.Input.resources.dll
          • System.Windows.Controls.Data.resources.dll
          • System.Windows.Controls.Input.resources.dll
          • System.Windows.Controls.resources.dll
          • System.Windows.Data.resources.dll
        • lt
          • System.ComponentModel.DataAnnotations.resources.dll
          • System.Windows.Controls.Data.Input.resources.dll
          • System.Windows.Controls.Data.resources.dll
          • System.Windows.Controls.Input.resources.dll
          • System.Windows.Controls.resources.dll
        • lv
          • System.ComponentModel.DataAnnotations.resources.dll
          • System.Windows.Controls.Data.Input.resources.dll
          • System.Windows.Controls.Data.resources.dll
          • System.Windows.Controls.Input.resources.dll
          • System.Windows.Controls.resources.dll
        • Microsoft.Expression.Interactions.dll
        • Microsoft.Expression.Interactions.xml
        • ms
          • System.ComponentModel.DataAnnotations.resources.dll
          • System.Windows.Controls.Data.Input.resources.dll
          • System.Windows.Controls.Data.resources.dll
          • System.Windows.Controls.Input.resources.dll
          • System.Windows.Controls.resources.dll
        • nl
          • System.ComponentModel.DataAnnotations.resources.dll
          • System.Windows.Controls.Data.Input.resources.dll
          • System.Windows.Controls.Data.resources.dll
          • System.Windows.Controls.Input.resources.dll
          • System.Windows.Controls.resources.dll
        • no
          • System.ComponentModel.DataAnnotations.resources.dll
          • System.Windows.Controls.Data.Input.resources.dll
          • System.Windows.Controls.Data.resources.dll
          • System.Windows.Controls.Input.resources.dll
          • System.Windows.Controls.resources.dll
        • pl
          • System.ComponentModel.DataAnnotations.resources.dll
          • System.Windows.Controls.Data.Input.resources.dll
          • System.Windows.Controls.Data.resources.dll
          • System.Windows.Controls.Input.resources.dll
          • System.Windows.Controls.resources.dll
        • pt
          • System.ComponentModel.DataAnnotations.resources.dll
          • System.Windows.Controls.Data.Input.resources.dll
          • System.Windows.Controls.Data.resources.dll
          • System.Windows.Controls.Input.resources.dll
          • System.Windows.Controls.resources.dll
        • pt-BR
          • System.ComponentModel.DataAnnotations.resources.dll
          • System.Windows.Controls.Data.Input.resources.dll
          • System.Windows.Controls.Data.resources.dll
          • System.Windows.Controls.Input.resources.dll
          • System.Windows.Controls.resources.dll
        • ro
          • System.ComponentModel.DataAnnotations.resources.dll
          • System.Windows.Controls.Data.Input.resources.dll
          • System.Windows.Controls.Data.resources.dll
          • System.Windows.Controls.Input.resources.dll
          • System.Windows.Controls.resources.dll
        • ru
          • System.ComponentModel.DataAnnotations.resources.dll
          • System.Windows.Controls.Data.Input.resources.dll
          • System.Windows.Controls.Data.resources.dll
          • System.Windows.Controls.Input.resources.dll
          • System.Windows.Controls.resources.dll
          • System.Windows.Data.resources.dll
        • sk
          • System.ComponentModel.DataAnnotations.resources.dll
          • System.Windows.Controls.Data.Input.resources.dll
          • System.Windows.Controls.Data.resources.dll
          • System.Windows.Controls.Input.resources.dll
          • System.Windows.Controls.resources.dll
        • sl
          • System.ComponentModel.DataAnnotations.resources.dll
          • System.Windows.Controls.Data.Input.resources.dll
          • System.Windows.Controls.Data.resources.dll
          • System.Windows.Controls.Input.resources.dll
          • System.Windows.Controls.resources.dll
        • sr-Cyrl-CS
          • System.ComponentModel.DataAnnotations.resources.dll
          • System.Windows.Controls.Data.Input.resources.dll
          • System.Windows.Controls.Data.resources.dll
          • System.Windows.Controls.Input.resources.dll
          • System.Windows.Controls.resources.dll
        • sr-Latn-CS
          • System.ComponentModel.DataAnnotations.resources.dll
          • System.Windows.Controls.Data.Input.resources.dll
          • System.Windows.Controls.Data.resources.dll
          • System.Windows.Controls.Input.resources.dll
          • System.Windows.Controls.resources.dll
        • sv
          • System.ComponentModel.DataAnnotations.resources.dll
          • System.Windows.Controls.Data.Input.resources.dll
          • System.Windows.Controls.Data.resources.dll
          • System.Windows.Controls.Input.resources.dll
          • System.Windows.Controls.resources.dll
        • System.ComponentModel.DataAnnotations.dll
        • System.ComponentModel.DataAnnotations.xml
        • System.Windows.Controls.Data.dll
        • System.Windows.Controls.Data.Input.dll
        • System.Windows.Controls.Data.Input.xml
        • System.Windows.Controls.Data.xml
        • System.Windows.Controls.DataVisualization.Toolkit.dll
        • System.Windows.Controls.DataVisualization.Toolkit.pdb
        • System.Windows.Controls.DataVisualization.Toolkit.xml
        • System.Windows.Controls.dll
        • System.Windows.Controls.Input.dll
        • System.Windows.Controls.Input.xml
        • System.Windows.Controls.Toolkit.dll
        • System.Windows.Controls.Toolkit.Internals.dll
        • System.Windows.Controls.Toolkit.pdb
        • System.Windows.Controls.Toolkit.xml
        • System.Windows.Controls.xml
        • System.Windows.Data.dll
        • System.Windows.Data.xml
        • System.Windows.Interactivity.dll
        • System.Windows.Interactivity.xml
        • th
          • System.ComponentModel.DataAnnotations.resources.dll
          • System.Windows.Controls.Data.Input.resources.dll
          • System.Windows.Controls.Data.resources.dll
          • System.Windows.Controls.Input.resources.dll
          • System.Windows.Controls.resources.dll
        • tr
          • System.ComponentModel.DataAnnotations.resources.dll
          • System.Windows.Controls.Data.Input.resources.dll
          • System.Windows.Controls.Data.resources.dll
          • System.Windows.Controls.Input.resources.dll
          • System.Windows.Controls.resources.dll
        • uk
          • System.ComponentModel.DataAnnotations.resources.dll
          • System.Windows.Controls.Data.Input.resources.dll
          • System.Windows.Controls.Data.resources.dll
          • System.Windows.Controls.Input.resources.dll
          • System.Windows.Controls.resources.dll
        • vi
          • System.ComponentModel.DataAnnotations.resources.dll
          • System.Windows.Controls.Data.Input.resources.dll
          • System.Windows.Controls.Data.resources.dll
          • System.Windows.Controls.Input.resources.dll
          • System.Windows.Controls.resources.dll
        • zh-Hans
          • System.ComponentModel.DataAnnotations.resources.dll
          • System.Windows.Controls.Data.Input.resources.dll
          • System.Windows.Controls.Data.resources.dll
          • System.Windows.Controls.Input.resources.dll
          • System.Windows.Controls.resources.dll
          • System.Windows.Data.resources.dll
        • zh-Hant
          • System.ComponentModel.DataAnnotations.resources.dll
          • System.Windows.Controls.Data.Input.resources.dll
          • System.Windows.Controls.Data.resources.dll
          • System.Windows.Controls.Input.resources.dll
          • System.Windows.Controls.resources.dll
          • System.Windows.Data.resources.dll
      • Release
    • Classes
    • DataStore
    • ExpenseReports.csproj
    • ExpenseReports.csproj.user
    • Models
    • obj
    • Properties
    • SampleData
    • Service References
      • wsExpenseReports
        • configuration.svcinfo
        • configuration91.svcinfo
        • ExpenseReports.wsExpenseReports.DeleteReportDetailResponse.datasource
        • ExpenseReports.wsExpenseReports.DeleteReportResponse.datasource
        • ExpenseReports.wsExpenseReports.GetReportDetailsResponse.datasource
        • ExpenseReports.wsExpenseReports.GetReportResponse.datasource
        • ExpenseReports.wsExpenseReports.GetReportsResponse.datasource
        • ExpenseReports.wsExpenseReports.InsertReportDetailResponse.datasource
        • ExpenseReports.wsExpenseReports.InsertReportResponse.datasource
        • ExpenseReports.wsExpenseReports.UpdateReportResponse.datasource
        • Reference.cs
        • Reference.svcmap
        • WebService.disco
        • WebService.wsdl
    • ServiceReferences.ClientConfig
    • ViewModels
    • Views
<UserControl
	xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
	xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
	xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
	xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
	xmlns:local="clr-namespace:ExpenseReports"
	xmlns:ExpenseReports_Classes="clr-namespace:ExpenseReports.Classes"
	xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity"
	xmlns:ei="http://schemas.microsoft.com/expression/2010/interactions"
	xmlns:sdk="http://schemas.microsoft.com/winfx/2006/xaml/presentation/sdk" 
	xmlns:toolkit="http://schemas.microsoft.com/winfx/2006/xaml/presentation/toolkit"
	xmlns:HisowaPopUpBehaviors="clr-namespace:HisowaPopUpBehaviors"
	mc:Ignorable="d"
	x:Class="ExpenseReports.MainPage"
	d:DesignWidth="640" d:DesignHeight="400" Width="500" Height="408">
	<UserControl.Resources>
		<ExpenseReports_Classes:ExpenseReportToBoolConverter x:Key="ExpenseReportToBoolConverter"/>
		<ExpenseReports_Classes:ExpenseReportToBoolConverter x:Key="NewExpenseReportToBoolConverter"/>
		<ExpenseReports_Classes:CurrencyConverter x:Key="CurrencyConverter"/>
		<ExpenseReports_Classes:ExpenseReportToVisbilityConverter x:Key="ExpenseReportToVisbilityConverter"/>
		<ExpenseReports_Classes:ShortenNameValueConverter x:Key="ShortenNameValueConverter"/>
		<DataTemplate x:Key="DataTemplate1">
			<Grid>
				<TextBlock Text="{Binding Name, Converter={StaticResource ShortenNameValueConverter}}" />
			</Grid>
		</DataTemplate>
		<DataTemplate x:Key="StringTemplate">
			<StackPanel>
				<TextBlock Text="{Binding Mode=OneWay}"/>
			</StackPanel>
		</DataTemplate>
		<Style x:Key="DataGridCellStyle1" TargetType="sdk:DataGridCell">
			<Setter Property="Background" Value="Transparent"/>
			<Setter Property="HorizontalContentAlignment" Value="Stretch"/>
			<Setter Property="VerticalContentAlignment" Value="Stretch"/>
			<Setter Property="IsTabStop" Value="False"/>
			<Setter Property="Template">
				<Setter.Value>
					<ControlTemplate TargetType="sdk:DataGridCell">
						<Grid x:Name="Root" Background="{TemplateBinding Background}">
							<Grid.ColumnDefinitions>
								<ColumnDefinition/>
								<ColumnDefinition Width="Auto"/>
							</Grid.ColumnDefinitions>
							<VisualStateManager.VisualStateGroups>
								<VisualStateGroup x:Name="CurrentStates">
									<VisualState x:Name="Regular"/>
									<VisualState x:Name="Current">
										<Storyboard>
											<DoubleAnimation Duration="0" To="1" Storyboard.TargetProperty="Opacity" Storyboard.TargetName="FocusVisual"/>
										</Storyboard>
									</VisualState>
								</VisualStateGroup>
								<VisualStateGroup x:Name="ValidationStates">
									<VisualState x:Name="Valid"/>
									<VisualState x:Name="Invalid">
										<Storyboard>
											<DoubleAnimation Duration="0" To="1" Storyboard.TargetProperty="Opacity" Storyboard.TargetName="InvalidVisualElement"/>
											<ColorAnimation Duration="0" To="#FFFFFFFF" Storyboard.TargetProperty="(Fill).Color" Storyboard.TargetName="FocusVisual"/>
										</Storyboard>
									</VisualState>
								</VisualStateGroup>
							</VisualStateManager.VisualStateGroups>
							<Rectangle x:Name="FocusVisual" Fill="#66FFFFFF" HorizontalAlignment="Stretch" IsHitTestVisible="false" Opacity="0" Stroke="#FF6DBDD1" StrokeThickness="1" VerticalAlignment="Stretch"/>
							<ContentPresenter x:Name="contentPresenter" HorizontalAlignment="Center" VerticalAlignment="Center">
								<Button x:Name="button" Content="X" HorizontalAlignment="Left" VerticalAlignment="Top" Margin="2">
									<Button.DataContext>
										<local:ExpenseReportDetailHelper/>
									</Button.DataContext>
									<i:Interaction.Triggers>
										<i:EventTrigger EventName="Click">
											<HisowaPopUpBehaviors:HisowaSimplePopUpBehavior ReturnICommand="{Binding DeleteExpenseReportDetailCommand}" CustomParameter="{Binding DataContext, ElementName=contentPresenter}" PopUpMessage="Are you sure you want to delete?"/>
										</i:EventTrigger>
									</i:Interaction.Triggers>
								</Button>
							</ContentPresenter>
							<Rectangle x:Name="InvalidVisualElement" HorizontalAlignment="Stretch" IsHitTestVisible="False" Opacity="0" Stroke="#FFDC000C" StrokeThickness="1" VerticalAlignment="Stretch"/>
							<Rectangle x:Name="RightGridLine" Grid.Column="1" VerticalAlignment="Stretch" Width="1"/>
						</Grid>
					</ControlTemplate>
				</Setter.Value>
			</Setter>
		</Style>
		<ControlTemplate x:Key="DataGridCellControlTemplateFileAttachment" TargetType="sdk:DataGridCell">
			<Grid x:Name="Root" Background="{TemplateBinding Background}">
				<Grid.ColumnDefinitions>
					<ColumnDefinition/>
					<ColumnDefinition Width="Auto"/>
				</Grid.ColumnDefinitions>
				<VisualStateManager.VisualStateGroups>
					<VisualStateGroup x:Name="CurrentStates">
						<VisualState x:Name="Regular"/>
						<VisualState x:Name="Current">
							<Storyboard>
								<DoubleAnimation Duration="0" To="1" Storyboard.TargetProperty="Opacity" Storyboard.TargetName="FocusVisual"/>
							</Storyboard>
						</VisualState>
					</VisualStateGroup>
					<VisualStateGroup x:Name="ValidationStates">
						<VisualState x:Name="Valid"/>
						<VisualState x:Name="Invalid">
							<Storyboard>
								<DoubleAnimation Duration="0" To="1" Storyboard.TargetProperty="Opacity" Storyboard.TargetName="InvalidVisualElement"/>
								<ColorAnimation Duration="0" To="#FFFFFFFF" Storyboard.TargetProperty="(Fill).Color" Storyboard.TargetName="FocusVisual"/>
							</Storyboard>
						</VisualState>
					</VisualStateGroup>
				</VisualStateManager.VisualStateGroups>
				<Rectangle x:Name="FocusVisual" Fill="#66FFFFFF" HorizontalAlignment="Stretch" IsHitTestVisible="false" Opacity="0" Stroke="#FF6DBDD1" StrokeThickness="1" VerticalAlignment="Stretch"/>
				<ContentPresenter x:Name="contentPresenter" HorizontalAlignment="Center" VerticalAlignment="Center">
					<Image Height="16" Source="/ExpenseReports;component/Assets/attach.png" Stretch="Fill" Width="16" Visibility="{Binding DownloadLinkVisibility}">
						<i:Interaction.Triggers>
							<i:EventTrigger EventName="MouseLeftButtonDown">
								<ei:HyperlinkAction NavigateUri="{Binding DownloadLink}" TargetWindow="_new"/>
							</i:EventTrigger>
						</i:Interaction.Triggers>
					</Image>
				</ContentPresenter>
				<Rectangle x:Name="InvalidVisualElement" HorizontalAlignment="Stretch" IsHitTestVisible="False" Opacity="0" Stroke="#FFDC000C" StrokeThickness="1" VerticalAlignment="Stretch"/>
				<Rectangle x:Name="RightGridLine" Grid.Column="1" VerticalAlignment="Stretch" Width="1"/>
			</Grid>
		</ControlTemplate>
		<Style x:Key="DataGridCellStyleFileAttachment" TargetType="sdk:DataGridCell">
			<Setter Property="Background" Value="Transparent"/>
			<Setter Property="HorizontalContentAlignment" Value="Stretch"/>
			<Setter Property="VerticalContentAlignment" Value="Stretch"/>
			<Setter Property="IsTabStop" Value="False"/>
			<Setter Property="Template" Value="{StaticResource DataGridCellControlTemplateFileAttachment}"/>
		</Style>		
	</UserControl.Resources>
	<UserControl.DataContext>
		<local:MainPageModel/>
	</UserControl.DataContext>

	<Grid x:Name="LayoutRoot" Background="#FFF9F9F9">
		<Grid.ColumnDefinitions>
			<ColumnDefinition Width="0.24*"/>
			<ColumnDefinition Width="0.496*"/>
			<ColumnDefinition Width="0.264*"/>
		</Grid.ColumnDefinitions>
		<Grid.RowDefinitions>
			<RowDefinition Height="Auto"/>
			<RowDefinition Height="0.068*"/>
			<RowDefinition Height="0.066*"/>
			<RowDefinition Height="0.119*"/>
			<RowDefinition Height="0.061*"/>
			<RowDefinition Height="0.061*"/>
			<RowDefinition Height="0.343*"/>
			<RowDefinition Height="0.202*"/>
			<RowDefinition Height="0.081*"/>
		</Grid.RowDefinitions>
		<ListBox x:Name="lbErrors" ItemTemplate="{StaticResource StringTemplate}" ItemsSource="{Binding colErrors}" Foreground="Red" BorderThickness="1" Visibility="{Binding ErrorsVisibility, Mode=OneWay}" BorderBrush="#FFF70D0D" Grid.ColumnSpan="3" Margin="5,0,5,8" FontSize="10.667" ScrollViewer.HorizontalScrollBarVisibility="Auto">
  			<ListBox.Background>
   				<SolidColorBrush Color="#FFFBFB92" Opacity="0.995"/>
 			</ListBox.Background>
 		</ListBox>
		<TextBlock x:Name="Name_label_Copy" HorizontalAlignment="Right" TextWrapping="Wrap" Text="Expense Reports:" VerticalAlignment="Top" Margin="0,5,5,0" Grid.Row="1" Foreground="Black"/>
		<TextBlock x:Name="Name_label" HorizontalAlignment="Right" Grid.Row="2" TextWrapping="Wrap" Text="Name:" VerticalAlignment="Top" Margin="0,6,5,0" Foreground="Black"/>
		<ComboBox x:Name="cbReports" Grid.Column="1" ItemsSource="{Binding colReports}" SelectedIndex="{Binding SelectedReportIndex, Mode=OneWay}" ItemTemplate="{StaticResource DataTemplate1}" Margin="5,1,0,3" Grid.Row="1" IsEnabled="{Binding CurrentReport, Converter={StaticResource ExpenseReportToBoolConverter}, Mode=OneWay}">
			<i:Interaction.Triggers>
				<i:EventTrigger EventName="SelectionChanged">
					<i:InvokeCommandAction x:Name="GetReport" Command="{Binding GetReportCommand}" CommandParameter="{Binding SelectedItem, ElementName=cbReports}"/>
				</i:EventTrigger>
			</i:Interaction.Triggers>
		</ComboBox>
		<TextBox x:Name="txtName" Grid.Column="1" Grid.Row="2" TextWrapping="Wrap" Text="{Binding CurrentReport.Name, Mode=TwoWay}" Margin="5,1,0,1" MaxLength="50" />
		<TextBox x:Name="txtDescription" Grid.Column="1" Grid.Row="3" TextWrapping="Wrap" Text="{Binding CurrentReport.Description, Mode=TwoWay}" VerticalScrollBarVisibility="Auto" MaxLength="500" Height="41" Margin="5,1,0,1" />
		<CheckBox IsChecked="{Binding CurrentReport.Locked, Mode=TwoWay}" HorizontalAlignment="Left" VerticalAlignment="Top" Grid.Column="1" Grid.Row="4" Width="16" Margin="6,4,0,0" IsEnabled="{Binding AuthenticationHeader.IsAdmin}" Visibility="{Binding CurrentReport, Converter={StaticResource ExpenseReportToVisbilityConverter}, Mode=OneWay}"/>
		<TextBlock HorizontalAlignment="Right" Grid.Row="4" TextWrapping="Wrap" Text="Locked:" VerticalAlignment="Top" Margin="0,4,5,0" Foreground="Black" Visibility="{Binding CurrentReport, Converter={StaticResource ExpenseReportToVisbilityConverter}, Mode=OneWay}"/>
		<TextBlock Grid.Row="3" TextWrapping="Wrap" Text="Description:" HorizontalAlignment="Right" VerticalAlignment="Top" Margin="0,9,5,0" Foreground="Black"/>
		<TextBlock TextWrapping="Wrap" Text="Updated:" Foreground="Black" FontSize="12" HorizontalAlignment="Right" d:LayoutOverrides="Height" Margin="0,5,6,2" Grid.Row="5" Visibility="{Binding CurrentReport, Converter={StaticResource ExpenseReportToVisbilityConverter}, Mode=OneWay}"/>
		<TextBlock Text="{Binding CurrentReport.UpdateDate}" FontStyle="Italic" FontSize="12" VerticalAlignment="Top" Grid.Column="1" Grid.Row="5" HorizontalAlignment="Left" Margin="5,5,0,0" Visibility="{Binding CurrentReport, Converter={StaticResource ExpenseReportToVisbilityConverter}, Mode=OneWay}"/>
		<StackPanel Grid.Row="5" Grid.Column="1" Orientation="Horizontal" Margin="84,-3,0,0" VerticalAlignment="Top" d:LayoutOverrides="HorizontalAlignment"/>
		<StackPanel Grid.Column="2" Margin="26,0,26,-8" Orientation="Vertical" VerticalAlignment="Top" Grid.RowSpan="3" Grid.Row="1">
			<Button x:Name="Print" Content="Print" HorizontalAlignment="Center" Width="80" VerticalAlignment="Top" Visibility="{Binding CurrentReport, Converter={StaticResource ExpenseReportToVisbilityConverter}, Mode=OneWay}" Margin="0,0,0,5">
				<i:Interaction.Triggers>
					<i:EventTrigger EventName="Click">
						<i:InvokeCommandAction Command="{Binding PrintReportCommand}" CommandParameter="{Binding ElementName=PrintGrid, Mode=OneWay}"/>
					</i:EventTrigger>
				</i:Interaction.Triggers>
			</Button>
			<Button x:Name="New" HorizontalAlignment="Center" Width="80" VerticalAlignment="Top" Margin="0,0,0,5" Content="New" Visibility="{Binding ShowNewButtonVisibility}">
				<i:Interaction.Triggers>
					<i:EventTrigger EventName="Click">
						<i:InvokeCommandAction Command="{Binding NewReportCommand}"/>
					</i:EventTrigger>
				</i:Interaction.Triggers>
			</Button>
			<Button x:Name="Cancel" HorizontalAlignment="Center" Width="80" VerticalAlignment="Top" Margin="0,0,0,5" Content="Cancel" Visibility="{Binding ShowCancelButtonVisibility}">
				<i:Interaction.Triggers>
					<i:EventTrigger EventName="Click">
						<i:InvokeCommandAction Command="{Binding CancelReportCommand}"/>
					</i:EventTrigger>
				</i:Interaction.Triggers>
			</Button>
			<Button x:Name="Save" Content="Save" HorizontalAlignment="Center" Width="80" Margin="0,0,0,5">
				<i:Interaction.Triggers>
					<i:EventTrigger EventName="Click">
						<i:InvokeCommandAction Command="{Binding UpdateReportCommand}"/>
					</i:EventTrigger>
				</i:Interaction.Triggers>
			</Button>
			<Button x:Name="Delete" Content="Delete" HorizontalAlignment="Center" Width="80" VerticalAlignment="Top" Visibility="{Binding CurrentReport, Converter={StaticResource ExpenseReportToVisbilityConverter}, Mode=OneWay}" Margin="0,0,0,5">
				<i:Interaction.Triggers>
					<i:EventTrigger EventName="Click">
						<HisowaPopUpBehaviors:HisowaSimplePopUpBehavior ReturnICommand="{Binding DeleteReportCommand}" PopUpMessage="Are you sure you want to delete this Report?"/>
					</i:EventTrigger>
				</i:Interaction.Triggers>
			</Button>
		</StackPanel>
		<Border Grid.ColumnSpan="3" Grid.Row="7" BorderThickness="1" BorderBrush="#FFDADEE2" CornerRadius="2" Visibility="{Binding CurrentReport, Converter={StaticResource ExpenseReportToVisbilityConverter}, Mode=OneWay}" Margin="8,0,4,0">
			<Grid x:Name="grid">
				<Grid.RowDefinitions>
					<RowDefinition Height="0.242*"/>
					<RowDefinition Height="0.387*"/>
					<RowDefinition Height="0.371*"/>
				</Grid.RowDefinitions>
				<Grid.ColumnDefinitions>
					<ColumnDefinition Width="0.167*"/>
					<ColumnDefinition Width="0.167*"/>
					<ColumnDefinition Width="0.333*"/>
					<ColumnDefinition Width="0.167*"/>
					<ColumnDefinition Width="0.167*"/>
				</Grid.ColumnDefinitions>
				<Border VerticalAlignment="Top" d:LayoutOverrides="Width" Background="#FFDADEE2">
					<TextBlock TextWrapping="Wrap" Text="Type" TextAlignment="Center" Height="16"/>
				</Border>
				<Border Grid.Column="1" VerticalAlignment="Top" d:LayoutOverrides="Width" Background="#FFDADEE2" >
					<TextBlock TextWrapping="Wrap" Text="Amount" TextAlignment="Center" Height="16"/>
				</Border>
				<Border Grid.Column="2" VerticalAlignment="Top" d:LayoutOverrides="Width" Background="#FFDADEE2" >
					<TextBlock TextWrapping="Wrap" Text="Description" TextAlignment="Center" Height="16"/>
				</Border>
				<Border Grid.Column="3" VerticalAlignment="Top" d:LayoutOverrides="Width" Background="#FFDADEE2" >
					<TextBlock TextWrapping="Wrap" Text="Attachment" TextAlignment="Center" Height="16" Margin="3,0,0,0" HorizontalAlignment="Left"/>
				</Border>
				<Border Grid.Column="4" VerticalAlignment="Top" Background="#FFDADEE2" d:LayoutOverrides="Width" >
					<TextBlock TextWrapping="Wrap" TextAlignment="Center" Height="16"/>
				</Border>
				<ComboBox x:Name="comboBox" Grid.Row="1" d:LayoutOverrides="Height" VerticalAlignment="Center" Margin="5,2" ItemsSource="{Binding colDetailTypes}" SelectedIndex="{Binding SelectedReportTypeIndex, Mode=OneWay}" SelectedItem="{Binding NewReportDetail.ExpenseType, Mode=TwoWay}"/>
				<TextBox Grid.Column="1" Grid.Row="1" TextWrapping="Wrap" Margin="17,2,2,2" VerticalAlignment="Center" Text="{Binding NewReportDetailAmount, Mode=TwoWay}"/>
				<TextBlock Grid.Column="1" HorizontalAlignment="Left" Grid.Row="1" TextWrapping="Wrap" Text="$" Width="10" FontSize="16" FontWeight="Bold" Margin="2,0,0,0" VerticalAlignment="Center" Foreground="Black" />
				<TextBox Grid.Column="2" Grid.Row="1" TextWrapping="Wrap" Margin="5,4,5,0" VerticalScrollBarVisibility="Auto" MaxLength="500" Text="{Binding NewReportDetail.Description, Mode=TwoWay}" Height="50" VerticalAlignment="Top" Grid.RowSpan="2"/>
				<Button x:Name="AttachFile" Grid.Column="3" Grid.Row="1" Margin="3,5,7,7" FontSize="10.667" Height="Auto" Grid.RowSpan="2" Visibility="{Binding ShowAttachButtonVisibility}" Content="Attach File">
					<i:Interaction.Triggers>
						<i:EventTrigger EventName="Click">
							<local:OpenFileDialogBoxBehavior FileDialogDialogResultCommand="{Binding UploadFile, Mode=TwoWay}"/>
						</i:EventTrigger>
					</i:Interaction.Triggers>
				</Button>
				<Button Content="Insert" Grid.Column="4" Grid.Row="1" FontSize="10.667" Margin="5,4,5,7" Height="Auto" d:LayoutOverrides="VerticalAlignment" Grid.RowSpan="2">
					<i:Interaction.Triggers>
						<i:EventTrigger EventName="Click">
							<i:InvokeCommandAction Command="{Binding InsertDetailCommand}"/>
						</i:EventTrigger>
					</i:Interaction.Triggers>
				</Button>
				<Button x:Name="RemoveFile" Grid.Column="3" Grid.Row="1" Margin="3,5,7,7" FontSize="10.667" Height="Auto" Grid.RowSpan="2" Command="{Binding DeleteFileUploadCommand}" Content="Remove File" Visibility="{Binding ShowRemoveFileButtonVisibility}"/>
			</Grid>
		</Border>
		<sdk:DataGrid Grid.Row="6" Grid.ColumnSpan="2" Margin="8,10,0,20" AutoGenerateColumns="False" ItemsSource="{Binding colExpenseReportDetailHelper}" ScrollViewer.VerticalScrollBarVisibility="Auto" HorizontalScrollBarVisibility="Disabled" Visibility="{Binding CurrentReport, Converter={StaticResource ExpenseReportToVisbilityConverter}, Mode=OneWay}" >
			<sdk:DataGrid.Columns>
				<sdk:DataGridTextColumn DisplayIndex="0" Width="Auto" CellStyle="{StaticResource DataGridCellStyle1}" CanUserResize="False" CanUserReorder="False" Binding="{Binding Mode=OneWay}"/>
				<sdk:DataGridTextColumn DisplayIndex="1" Width="Auto" CellStyle="{StaticResource DataGridCellStyleFileAttachment}" CanUserResize="False" CanUserReorder="False" Binding="{Binding Mode=OneWay}"/>			
				<sdk:DataGridTextColumn Binding="{Binding objReportDetail.ExpenseType}" Header="Type" CanUserResize="True" Width="SizeToHeader" CanUserReorder="False" IsReadOnly="True"/>
				<sdk:DataGridTextColumn Binding="{Binding objReportDetail.Amount, Converter={StaticResource CurrencyConverter}}" Header="Amount" CanUserResize="False" Width="SizeToCells" IsReadOnly="True" CanUserReorder="False" MinWidth="70"/>
				<sdk:DataGridTextColumn Binding="{Binding objReportDetail.Description}" Header="Description" Width="*" CanUserReorder="False" CanUserResize="False" IsReadOnly="True">
				 <sdk:DataGridTextColumn.ElementStyle>
                        <Style TargetType="TextBlock">
                            <Setter Property="TextWrapping" Value="Wrap"/>
                        </Style>
						</sdk:DataGridTextColumn.ElementStyle>
						</sdk:DataGridTextColumn>
			</sdk:DataGrid.Columns>
		</sdk:DataGrid>
		<Grid Grid.Column="2" Margin="8,10,4,16" Grid.Row="6" Visibility="{Binding CurrentReport, Converter={StaticResource ExpenseReportToVisbilityConverter}, Mode=OneWay}">
			<Grid.ColumnDefinitions>
				<ColumnDefinition Width="0.375*"/>
				<ColumnDefinition Width="0.625*"/>
			</Grid.ColumnDefinitions>
			<Grid.RowDefinitions>
				<RowDefinition Height="0.117*"/>
				<RowDefinition Height="0.117*"/>
				<RowDefinition Height="0.117*"/>
				<RowDefinition Height="0.117*"/>
				<RowDefinition Height="0.125*"/>
				<RowDefinition Height="0.208*"/>
				<RowDefinition Height="0.2*"/>
			</Grid.RowDefinitions>
			<TextBlock TextWrapping="Wrap" Text="Hotel:" HorizontalAlignment="Right"/>
			<TextBlock TextWrapping="Wrap" Text="Fuel:" HorizontalAlignment="Right" Grid.Row="1"/>
			<TextBlock TextWrapping="Wrap" Text="Meals:" HorizontalAlignment="Right" Grid.Row="2"/>
			<TextBlock TextWrapping="Wrap" Text="Phone:" HorizontalAlignment="Right" Grid.Row="3"/>
			<TextBlock TextWrapping="Wrap" Text="Misc.:" HorizontalAlignment="Right" Grid.Row="4"/>
			<TextBlock TextWrapping="Wrap" Text="Trans:" HorizontalAlignment="Right" Grid.Row="5"/>
			<TextBlock Grid.Column="1" TextWrapping="Wrap" Margin="5,0,0,0" Text="{Binding LodgingTotal, Converter={StaticResource CurrencyConverter}, Mode=TwoWay}"/>
			<TextBlock Grid.Column="1" TextWrapping="Wrap" Grid.Row="1" Margin="5,0,0,0" Text="{Binding FuelTotal, Converter={StaticResource CurrencyConverter}}"/>
			<TextBlock Grid.Column="1" TextWrapping="Wrap" Grid.Row="2" Margin="5,0,0,0" Text="{Binding MealsTotal, Converter={StaticResource CurrencyConverter}}"/>
			<TextBlock Grid.Column="1" TextWrapping="Wrap" Grid.Row="3" Margin="5,0,0,0" Text="{Binding PhoneTotal, Converter={StaticResource CurrencyConverter}}"/>
			<TextBlock Grid.Column="1" TextWrapping="Wrap" Grid.Row="4" Margin="5,0,0,0" Text="{Binding MiscTotal, Converter={StaticResource CurrencyConverter}}"/>
			<TextBlock Grid.Column="1" TextWrapping="Wrap" Grid.Row="5" Margin="5,0,0,0" Text="{Binding TransportationTotal, Converter={StaticResource CurrencyConverter}}"/>
			<TextBlock Grid.Column="1" TextWrapping="Wrap" Grid.Row="6" Margin="5,3,0,0" Height="16" VerticalAlignment="Top" Text="{Binding GrandTotal, Converter={StaticResource CurrencyConverter}}"/>
			<Rectangle Grid.Column="1" Fill="Black" Height="2" Margin="3,0,8,0" Grid.Row="5" Stroke="Black" VerticalAlignment="Bottom"/>
		</Grid>
		<Border x:Name="PrintTemplate" Grid.Column="2" HorizontalAlignment="Right" Margin="0,2,-476,-400" Grid.RowSpan="9" Width="440" BorderBrush="#FF7E7B7B" BorderThickness="1">
			<Grid x:Name="PrintGrid">
				<sdk:DataGrid AutoGenerateColumns="False" ItemsSource="{Binding colExpenseReportDetailHelper}" ScrollViewer.VerticalScrollBarVisibility="Auto" HorizontalScrollBarVisibility="Disabled" Height="577" VerticalAlignment="Top" HorizontalAlignment="Left" Margin="5,221,0,0" d:DataContext="{d:DesignData /SampleData/MainPageModelSampleData1.xaml}">
					<sdk:DataGrid.Columns>
						<sdk:DataGridTextColumn Binding="{Binding objReportDetail.ExpenseType}" Header="Type" CanUserResize="True" Width="SizeToHeader" CanUserReorder="False" IsReadOnly="True"/>
						<sdk:DataGridTextColumn Binding="{Binding objReportDetail.Amount, Converter={StaticResource CurrencyConverter}}" Header="Amount" CanUserResize="False" Width="SizeToCells" IsReadOnly="True" CanUserReorder="False" MinWidth="70"/>
						<sdk:DataGridTextColumn Binding="{Binding objReportDetail.Description}" Header="Description" Width="*" CanUserReorder="False" CanUserResize="False" IsReadOnly="True">
							<sdk:DataGridTextColumn.ElementStyle>
								<Style TargetType="TextBlock">
									<Setter Property="TextWrapping" Value="Wrap"/>
								</Style>
							</sdk:DataGridTextColumn.ElementStyle>
						</sdk:DataGridTextColumn>
					</sdk:DataGrid.Columns>
				</sdk:DataGrid>
				<Grid Width="160" Height="136" HorizontalAlignment="Right" Margin="0,22,0,0" VerticalAlignment="Top">
					<Grid.ColumnDefinitions>
						<ColumnDefinition Width="0.375*"/>
						<ColumnDefinition Width="0.625*"/>
					</Grid.ColumnDefinitions>
					<Grid.RowDefinitions>
						<RowDefinition Height="0.125*"/>
						<RowDefinition Height="0.11*"/>
						<RowDefinition Height="0.125*"/>
						<RowDefinition Height="0.11*"/>
						<RowDefinition Height="0.11*"/>
						<RowDefinition Height="0.184*"/>
						<RowDefinition Height="0.235*"/>
					</Grid.RowDefinitions>
					<TextBlock TextWrapping="Wrap" Text="Hotel:" HorizontalAlignment="Right" Margin="0,1,0,0" Foreground="Black"/>
					<TextBlock TextWrapping="Wrap" Text="Fuel:" HorizontalAlignment="Right" Grid.Row="1" Margin="0,-1,0,0" Foreground="Black"/>
					<TextBlock TextWrapping="Wrap" Text="Meals:" HorizontalAlignment="Right" Grid.Row="2" Width="36" Height="33" Grid.RowSpan="2" d:LayoutOverrides="VerticalMargin" Foreground="Black"/>
					<TextBlock TextWrapping="Wrap" Text="Phone:" HorizontalAlignment="Right" Grid.Row="3" Margin="0,-1,0,0" Foreground="Black"/>
					<TextBlock TextWrapping="Wrap" Text="Misc.:" HorizontalAlignment="Right" Grid.Row="4" Foreground="Black"/>
					<TextBlock TextWrapping="Wrap" Text="Trans:" HorizontalAlignment="Right" Grid.Row="5" Foreground="Black"/>
					<TextBlock Grid.Column="1" TextWrapping="Wrap" Margin="5,0,0,1" Text="{Binding LodgingTotal, Converter={StaticResource CurrencyConverter}, Mode=TwoWay}" Foreground="Black"/>
					<TextBlock Grid.Column="1" TextWrapping="Wrap" Grid.Row="1" Margin="5,-1,0,0" Text="{Binding FuelTotal, Converter={StaticResource CurrencyConverter}}" Foreground="Black"/>
					<TextBlock Grid.Column="1" TextWrapping="Wrap" Grid.Row="2" Margin="5,0,0,1" Text="{Binding MealsTotal, Converter={StaticResource CurrencyConverter}}" Foreground="Black"/>
					<TextBlock Grid.Column="1" TextWrapping="Wrap" Grid.Row="3" Margin="5,-1,0,0" Text="{Binding PhoneTotal, Converter={StaticResource CurrencyConverter}}" Foreground="Black"/>
					<TextBlock Grid.Column="1" TextWrapping="Wrap" Grid.Row="4" Margin="5,0,0,0" Text="{Binding MiscTotal, Converter={StaticResource CurrencyConverter}}" Foreground="Black"/>
					<TextBlock Grid.Column="1" TextWrapping="Wrap" Grid.Row="5" Margin="5,0,0,0" Text="{Binding TransportationTotal, Converter={StaticResource CurrencyConverter}}" Foreground="Black"/>
					<TextBlock Grid.Column="1" TextWrapping="Wrap" Grid.Row="6" Margin="5,3,0,0" Height="16" VerticalAlignment="Top" Text="{Binding GrandTotal, Converter={StaticResource CurrencyConverter}}" d:LayoutOverrides="VerticalAlignment" Foreground="Black"/>
					<Rectangle Grid.Column="1" Fill="Black" Height="2" Margin="3,0,8,0" Grid.Row="5" Stroke="Black" VerticalAlignment="Bottom"/>
				</Grid>
				<TextBlock Text="{Binding CurrentReport.Description}" TextWrapping="Wrap" Margin="8,30,176,712" d:DataContext="{d:DesignData /SampleData/MainPageModelSampleData1.xaml}" Foreground="Black"/>
				<TextBlock TextWrapping="Wrap" Text="Last updated:" Height="16" Width="80" HorizontalAlignment="Left" Margin="8,92,0,0" VerticalAlignment="Top" Foreground="Black"/>
				<TextBlock TextWrapping="Wrap" Text="{Binding CurrentReport.UpdateDate}" Height="16" Margin="103,93,169,0" VerticalAlignment="Top" d:DataContext="{d:DesignData /SampleData/MainPageModelSampleData1.xaml}" Foreground="Black"/>
				<TextBlock Text="{Binding CurrentReport.Name}" Margin="8,6,176,0" VerticalAlignment="Top" d:DataContext="{d:DesignData /SampleData/MainPageModelSampleData1.xaml}" Foreground="Black"/>
				<TextBlock TextWrapping="Wrap" Text="By:" Height="16" Width="24" HorizontalAlignment="Left" Margin="63,113,0,0" VerticalAlignment="Top" Foreground="Black"/>
				<TextBlock Text="{Binding AuthenticationHeader.Username}" Margin="103,113,140,0" VerticalAlignment="Top" d:DataContext="{d:DesignData /SampleData/MainPageModelSampleData1.xaml}" Foreground="Black"/>
				<Rectangle Fill="Black" Height="2" Margin="103,165,143,0" Stroke="Black" VerticalAlignment="Top"/>
				<TextBlock TextWrapping="Wrap" Text="Signed:" Height="16" Width="41" HorizontalAlignment="Left" Margin="41,150,0,0" VerticalAlignment="Top" Foreground="Black"/>
				<TextBlock TextWrapping="Wrap" Text="Date:" Height="16" Width="32" HorizontalAlignment="Left" Margin="51,177,0,0" VerticalAlignment="Top" Foreground="Black"/>
				<Rectangle Fill="Black" Height="2" Margin="104,192,142,0" Stroke="Black" VerticalAlignment="Top"/>
			</Grid>
		</Border>
		<TextBlock x:Name="Main_Screen_Label" Grid.Column="1" Height="40" Margin="-16,-96,-8,0" TextWrapping="Wrap" Text="Main Screen" VerticalAlignment="Top" FontSize="32" TextAlignment="Center" Foreground="#FF7E0E0E"/>
		<TextBlock x:Name="Print_Template_Label" Grid.Column="2" Height="40" Margin="0,-88,-380,0" TextWrapping="Wrap" Text="Print Template" VerticalAlignment="Top" FontSize="32" TextAlignment="Center" Foreground="#FF7E0E0E" HorizontalAlignment="Right" Width="272"/>
		<TextBlock HorizontalAlignment="Left" Grid.Row="4" TextWrapping="Wrap" Text="Approved:" VerticalAlignment="Top" Margin="35,4,0,0" Foreground="Black" Grid.Column="1" Visibility="{Binding CurrentReport, Converter={StaticResource ExpenseReportToVisbilityConverter}, Mode=OneWay}"/>
		<TextBlock Grid.Row="4" TextWrapping="Wrap" Text="Completed:" VerticalAlignment="Top" Margin="0,4,52,0" Foreground="Black" Grid.Column="1" Height="16" HorizontalAlignment="Right" Width="64" Visibility="{Binding CurrentReport, Converter={StaticResource ExpenseReportToVisbilityConverter}, Mode=OneWay}"/>
		<CheckBox IsChecked="{Binding CurrentReport.Approved, Mode=TwoWay}" HorizontalAlignment="Left" VerticalAlignment="Top" Grid.Column="1" Grid.Row="4" Width="16" Margin="99,4,0,0" IsEnabled="{Binding AuthenticationHeader.IsAdmin}" Visibility="{Binding CurrentReport, Converter={StaticResource ExpenseReportToVisbilityConverter}, Mode=OneWay}"/>
		<CheckBox IsChecked="{Binding CurrentReport.Completed, Mode=TwoWay}" HorizontalAlignment="Right" VerticalAlignment="Top" Grid.Column="1" Grid.Row="4" Width="16" Margin="0,4,28,0" IsEnabled="{Binding AuthenticationHeader.IsAdmin}" Visibility="{Binding CurrentReport, Converter={StaticResource ExpenseReportToVisbilityConverter}, Mode=OneWay}"/>
		<toolkit:BusyIndicator Grid.Column="1" Margin="42,46,33,23" Grid.Row="6" BusyContent="{Binding FileuploadPercentProperty}" IsBusy="{Binding FileUploadingProperty}" DisplayAfter="0"/>
	</Grid>
</UserControl>

By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.

If a file you wish to view isn't highlighted, and is a text file (not binary), please let us know and we'll add colourisation support for it.

License

This article, along with any associated source code and files, is licensed under The Microsoft Public License (Ms-PL)


Written By
Software Developer (Senior) http://ADefWebserver.com
United States United States
Michael Washington is a Microsoft MVP. He is a ASP.NET and
C# programmer.
He is the founder of
AiHelpWebsite.com,
LightSwitchHelpWebsite.com, and
HoloLensHelpWebsite.com.

He has a son, Zachary and resides in Los Angeles with his wife Valerie.

He is the Author of:

Comments and Discussions