or
public static void NavigateToModal<
T
>(OpraViewName name, ParameterizedMessage message = null) where T : UIElement, new()
{
_message = message;
object view = null;
int Width =0, Height =0 ;
switch (name)
{
case OpraViewName.AboutView:
view = new AboutView();
Width = 1000;
Height = 600;
break;
case OpraViewName.ArticlePickerView:
view = new ArticlePickerView();
Width = 1000;
Height = 600;
break;
case OpraViewName.ArticleLoaderView:
view = new ArticleLoaderView();
Width = 700;
Height = 600;
break;
default:
break;
}
RadWindow modalWindows = new RadWindow();
modalWindows.WindowStartupLocation = WindowStartupLocation.CenterOwner;
modalWindows.MinHeight = Height;
modalWindows.MinWidth = Width;
modalWindows.Header = name.GetStringValue();
modalWindows.Content = view;//The view is the user control i use
modalWindows.ShowDialog();
}
<
Window
x:Class
=
"NMTimesheetUI.GridTest"
xmlns:telerik
=
"http://schemas.telerik.com/2008/xaml/presentation"
Title
=
"GridTest"
Height
=
"300"
Width
=
"600"
>
<
StackPanel
Margin
=
"10"
>
<
Button
HorizontalAlignment
=
"Right"
Content
=
"Delete Column"
x:Name
=
"btnDeleteColumn"
Margin
=
"0,0,0,10"
Click
=
"btnDeleteColumn_Click"
/>
<
telerik:RadGridView
x:Name
=
"gvTest"
CanUserSortColumns
=
"False"
ShowColumnFooters
=
"True"
RowIndicatorVisibility
=
"Visible"
IsFilteringAllowed
=
"False"
CanUserFreezeColumns
=
"False"
ShowInsertRow
=
"False"
AllowDrop
=
"False"
AutoGenerateColumns
=
"False"
CanUserDeleteRows
=
"True"
CanUserInsertRows
=
"False"
CanUserResizeColumns
=
"True"
CanUserReorderColumns
=
"False"
GridLinesVisibility
=
"Both"
ShowGroupPanel
=
"False"
ShowColumnHeaders
=
"True"
>
<
telerik:RadGridView.Columns
>
<
telerik:GridViewDataColumn
Header
=
"Name"
DataMemberBinding
=
"{Binding jobName}"
Width
=
"110*"
HeaderTextAlignment
=
"Center"
/>
<
telerik:GridViewDataColumn
Header
=
"Mon"
DataMemberBinding
=
"{Binding hours1, Mode=TwoWay, UpdateSourceTrigger=LostFocus}"
Width
=
"40"
HeaderTextAlignment
=
"Center"
>
<
telerik:GridViewDataColumn.AggregateFunctions
>
<
telerik:SumFunction
Caption
=
""
/>
</
telerik:GridViewDataColumn.AggregateFunctions
>
</
telerik:GridViewDataColumn
>
<
telerik:GridViewDataColumn
Header
=
"Tue"
DataMemberBinding
=
"{Binding hours2, Mode=TwoWay, UpdateSourceTrigger=LostFocus}"
Width
=
"40"
HeaderTextAlignment
=
"Center"
>
<
telerik:GridViewDataColumn.AggregateFunctions
>
<
telerik:SumFunction
Caption
=
""
/>
</
telerik:GridViewDataColumn.AggregateFunctions
>
</
telerik:GridViewDataColumn
>
<
telerik:GridViewDataColumn
Header
=
"Wed"
DataMemberBinding
=
"{Binding hours3, Mode=TwoWay, UpdateSourceTrigger=LostFocus}"
Width
=
"40"
HeaderTextAlignment
=
"Center"
>
<
telerik:GridViewDataColumn.AggregateFunctions
>
<
telerik:SumFunction
Caption
=
""
/>
</
telerik:GridViewDataColumn.AggregateFunctions
>
</
telerik:GridViewDataColumn
>
<
telerik:GridViewDataColumn
Header
=
"Thu"
DataMemberBinding
=
"{Binding hours4, Mode=TwoWay, UpdateSourceTrigger=LostFocus}"
Width
=
"40"
HeaderTextAlignment
=
"Center"
>
<
telerik:GridViewDataColumn.AggregateFunctions
>
<
telerik:SumFunction
Caption
=
""
/>
</
telerik:GridViewDataColumn.AggregateFunctions
>
</
telerik:GridViewDataColumn
>
<
telerik:GridViewDataColumn
Header
=
"Fri"
DataMemberBinding
=
"{Binding hours5, Mode=TwoWay, UpdateSourceTrigger=LostFocus}"
Width
=
"40"
HeaderTextAlignment
=
"Center"
>
<
telerik:GridViewDataColumn.AggregateFunctions
>
<
telerik:SumFunction
Caption
=
""
/>
</
telerik:GridViewDataColumn.AggregateFunctions
>
</
telerik:GridViewDataColumn
>
<
telerik:GridViewDataColumn
Header
=
"Sat"
DataMemberBinding
=
"{Binding hours6, Mode=TwoWay, UpdateSourceTrigger=LostFocus}"
Width
=
"40"
HeaderTextAlignment
=
"Center"
>
<
telerik:GridViewDataColumn.AggregateFunctions
>
<
telerik:SumFunction
Caption
=
""
/>
</
telerik:GridViewDataColumn.AggregateFunctions
>
</
telerik:GridViewDataColumn
>
<
telerik:GridViewDataColumn
Header
=
"Sun"
DataMemberBinding
=
"{Binding hours7, Mode=TwoWay, UpdateSourceTrigger=LostFocus}"
Width
=
"40"
HeaderTextAlignment
=
"Center"
>
<
telerik:GridViewDataColumn.AggregateFunctions
>
<
telerik:SumFunction
Caption
=
""
/>
</
telerik:GridViewDataColumn.AggregateFunctions
>
</
telerik:GridViewDataColumn
>
<
telerik:GridViewDataColumn
Header
=
"Total"
DataMemberBinding
=
"{Binding totalHours, Mode=OneWay}"
>
<
telerik:GridViewDataColumn.AggregateFunctions
>
<
telerik:SumFunction
Caption
=
""
SourceField
=
"totalHours"
/>
</
telerik:GridViewDataColumn.AggregateFunctions
>
</
telerik:GridViewDataColumn
>
</
telerik:RadGridView.Columns
>
</
telerik:RadGridView
>
</
StackPanel
>
</
Window
>
using
System;
using
System.Collections.Generic;
using
System.Linq;
using
System.Text;
using
System.Windows;
using
System.Windows.Controls;
using
System.Windows.Data;
using
System.Windows.Documents;
using
System.Windows.Input;
using
System.Windows.Media;
using
System.Windows.Media.Imaging;
using
System.Windows.Shapes;
namespace
NMTimesheetUI
{
/// <summary>
/// Interaction logic for GridTest.xaml
/// </summary>
public
partial
class
GridTest : Window
{
public
GridTest()
{
InitializeComponent();
this
.Loaded +=
new
RoutedEventHandler(GridTest_Loaded);
}
void
GridTest_Loaded(
object
sender, RoutedEventArgs e)
{
List<GridEntry> entries = GridEntry.getEntries();
gvTest.ItemsSource = entries;
}
private
void
btnDeleteColumn_Click(
object
sender, RoutedEventArgs e)
{
int
lastColumnIndex = gvTest.Columns.Count - 2;
gvTest.Columns.RemoveAt(lastColumnIndex);
}
}
public
class
GridEntry
{
#region Members
public
string
jobName {
get
;
set
; }
public
decimal
hours1 {
get
;
set
; }
public
decimal
hours2 {
get
;
set
; }
public
decimal
hours3 {
get
;
set
; }
public
decimal
hours4 {
get
;
set
; }
public
decimal
hours5 {
get
;
set
; }
public
decimal
hours6 {
get
;
set
; }
public
decimal
hours7 {
get
;
set
; }
public
decimal
totalHours
{
get
{
return
hours1 + hours2 + hours3 + hours4 + hours5 + hours6 + hours7;
}
}
#endregion
#region static Members
public
static
List<GridEntry> getEntries()
{
List<GridEntry> entries =
new
List<GridEntry>();
GridEntry john =
new
GridEntry {
jobName =
"John Lennon"
,
hours1 = 1, hours2 = 2, hours3 = 3, hours4 = 4, hours5 = 5, hours6 = 0, hours7 = 0
};
entries.Add(john);
GridEntry george =
new
GridEntry
{
jobName =
"George Harrison"
,
hours1 = 1,
hours2 = 2,
hours3 = 3,
hours4 = 4,
hours5 = 5,
hours6 = 0,
hours7 = 0
};
entries.Add(george);
GridEntry paul =
new
GridEntry
{
jobName =
"Paul McCartney"
,
hours1 = 1,
hours2 = 2,
hours3 = 3,
hours4 = 4,
hours5 = 5,
hours6 = 0,
hours7 = 0
};
entries.Add(paul);
GridEntry ringo =
new
GridEntry
{
jobName =
"Ringo Starr"
,
hours1 = 1,
hours2 = 2,
hours3 = 3,
hours4 = 4,
hours5 = 5,
hours6 = 0,
hours7 = 0
};
entries.Add(ringo);
return
entries;
}
#endregion
}
}