or
Grid mainGrid = (Grid)App.Current.MainWindow.Content;
mainGrid.Children.Insert(mainGrid.Children.Count,
this
);
var pane =
new
RadPane();
var paneGroup =
new
RadPaneGroup();
paneGroup.Items.Add(pane);
var splitContainer =
new
RadSplitContainer();
splitContainer.Items.Add(paneGroup);
this
.dockingControl.Items.Add(splitContainer);
pane.MakeFloatingDockable();
Public Class NovoBookMarkRangeStart
Inherits FieldRangeStartBase
Private m_Name As String
Private m_TypeCase As Integer
Private m_BookFormat As String
<
XamlSerializable
()> _
Public Property BookFormat As String
Get
Return m_BookFormat
End Get
Set(value As String)
m_BookFormat = value
End Set
End Property
<
XamlSerializable
()> _
Public Property Name() As String
Get
Return m_Name
End Get
Set(value As String)
m_Name = value
End Set
End Property
<
XamlSerializable
()> _
Public Property TypeCase() As Integer
Get
Return m_TypeCase
End Get
Set(value As Integer)
m_TypeCase = value
End Set
End Property
Public Sub New()
End Sub
Public Sub New(name As String, TypeCase As Integer, Bookformat As String)
Me.TypeCase = TypeCase
Me.Name = name
Me.BookFormat = Bookformat
End Sub
Private Sub Wpf_NewBookMark(ID As Integer, TypeCase As Integer, BookFormat As String) Handles Wpf.NewBookMark
Dim StartRange As New NovoBookMarkRangeStart(ID.ToString, TypeCase, BookFormat)
Dim EndRange As New NovoBookMarkRangeEnd()
'Caret Position
Dim S As New DocumentPosition(Me.editor.Document.CaretPosition)
Dim E As New DocumentPosition(Me.editor.Document)
EndRange.PairWithStart(StartRange)
'Custom Span
Dim BookMarkSpan As New Span("{" & Id.ToString() & "}")
S.AnchorToCurrentBoxIndex()
editor.InsertInline(StartRange)
editor.InsertInline(BookMarkSpan)
editor.InsertInline(EndRange)
S.RestorePositionFromBoxIndex()
editor.UpdateEditorLayout()
End Sub
using
System;
using
System.Linq;
using
System.ComponentModel;
using
System.ComponentModel.DataAnnotations;
namespace
VisorDataModel
{
[MetadataTypeAttribute(
typeof
(ValidUser.ValidUserMetadata))]
public
partial
class
ValidUser : IEditableObject
{
internal
sealed
class
ValidUserMetadata
{
public
ValidUserMetadata()
{
}
[Required(ErrorMessage =
"User ID is required"
)]
public
int
UserID
{
get
;
set
;
}
[Required(ErrorMessage =
"User Name is required."
)]
[StringLength(6,ErrorMessage=
"User name must be at least 6 characters"
)]
public
string
UserName
{
get
;
set
;
}
[Required(ErrorMessage =
"Password is required."
)]
[StringLength(6, ErrorMessage =
"Password must be at least 6 characters"
)]
public
string
UserPassword
{
get
;
set
;
}
[Required(ErrorMessage =
"User Class is required."
)]
public
int
UserClass
{
get
;
set
;
}
}
}
}
using
System;
using
System.Collections.Generic;
using
System.Linq;
namespace
VisorDataModel
{
public
interface
IValidUsersModel
{
IEnumerable<ValidUser> LoadValidUsers();
IEnumerable<UserClass> LoadUserClasses();
ValidUser NewValidUser();
void
AddValidUser(ValidUser validUser);
void
DeleteValidUser(ValidUser validUser);
void
SaveChanges();
}
}
using
System;
using
System.Collections.Generic;
using
System.Linq;
namespace
VisorDataModel
{
/// <summary>
/// Represents a source of ValidUsers
/// </summary>
public
class
ValidUsersModel : IValidUsersModel
{
private
EntitiesModel dbContext =
new
EntitiesModel();
public
IEnumerable<ValidUser> LoadValidUsers()
{
return
dbContext.ValidUsers.ToList();
}
public
IEnumerable<UserClass> LoadUserClasses()
{
return
dbContext.UserClasses.ToList();
}
public
ValidUser NewValidUser()
{
ValidUser newValidUser =
new
ValidUser { UserName =
"New User"
, UserPassword =
"New Password"
, UserClass = 0 };
int
newUserId = 0;
try
{
newUserId = (from vu
in
dbContext.ValidUsers
select (vu.UserID)).Max() +1;
}
catch
{
newUserId = 0;
}
newValidUser.UserID = newUserId;
return
newValidUser;
}
public
void
AddValidUser(ValidUser validUser)
{
dbContext.Add(validUser);
dbContext.SaveChanges();
}
public
void
DeleteValidUser(ValidUser validUser)
{
dbContext.Delete(validUser);
dbContext.SaveChanges();
}
public
void
SaveChanges()
{
dbContext.SaveChanges();
}
}
}
using
System;
using
System.Linq;
using
System.Collections.ObjectModel;
using
System.ComponentModel;
namespace
VisorDataModel
{
public
class
ValidUsersViewModel : INotifyPropertyChanged
{
private
readonly
IValidUsersModel dataModel;
private
ValidUser _selectedValidUser;
private
DelegateCommand _addValidUserCommand;
private
DelegateCommand _deleteValidUserCommand;
private
DelegateCommand _saveChangesCommand;
private
ObservableCollection<ValidUser> _validUsers;
private
ObservableCollection<UserClass> _userClasses;
public
event
PropertyChangedEventHandler PropertyChanged;
private
ObservableCollection<ValidUser> _originalValidUsers;
#region initialisation
public
ValidUsersViewModel()
{
this
.dataModel =
new
ValidUsersModel();
}
#endregion
public
ObservableCollection<ValidUser> ValidUsers
{
get
{
if
(
this
._validUsers ==
null
)
{
this
._validUsers =
new
ObservableCollection<ValidUser>();
if
(
this
._originalValidUsers ==
null
)
{
this
._originalValidUsers =
this
._validUsers;
}
LoadValidUsers();
}
return
this
._validUsers;
}
}
public
ObservableCollection<UserClass> UserClasses
{
get
{
if
(
this
._userClasses ==
null
)
{
this
._userClasses =
new
ObservableCollection<UserClass>();
LoadUserClasses();
}
return
this
._userClasses;
}
}
#region SelectValidUser property
public
ValidUser SelectedValidUser
{
get
{
return
_selectedValidUser;
}
set
{
if
(
this
._selectedValidUser == value)
return
;
this
._selectedValidUser = value;
this
.OnPropertyChanged(
"SelectedValidUser"
);
}
}
#endregion
public
DelegateCommand AddValidUserCommand
{
get
{
if
(
this
._addValidUserCommand ==
null
)
this
._addValidUserCommand =
new
DelegateCommand(
this
.OnAddCommandExecute);
return
_addValidUserCommand;
}
}
public
DelegateCommand DeleteValidUserCommand
{
get
{
if
(
this
._deleteValidUserCommand ==
null
)
this
._deleteValidUserCommand =
new
DelegateCommand(
this
.OnDeleteCommandExecute);
return
_deleteValidUserCommand;
}
}
public
DelegateCommand SaveChangesCommand
{
get
{
if
(
this
._saveChangesCommand ==
null
)
this
._saveChangesCommand =
new
DelegateCommand(
this
.OnSaveCommandExecute);
return
_saveChangesCommand;
}
}
private
void
LoadValidUsers()
{
this
._validUsers.Clear();
foreach
(var item
in
this
.dataModel.LoadValidUsers())
{
this
._validUsers.Add(item);
}
}
private
void
LoadUserClasses()
{
this
._userClasses.Clear();
foreach
(var item
in
this
.dataModel.LoadUserClasses())
{
this
._userClasses.Add(item);
}
}
private
void
OnAddCommandExecute(
object
parameter)
{
ValidUser newValidUser =
this
.dataModel.NewValidUser();
this
.ValidUsers.Add(newValidUser);
this
.SelectedValidUser = newValidUser;
this
.dataModel.AddValidUser(newValidUser);
}
private
void
OnDeleteCommandExecute(
object
parameter)
{
if
(
this
.SelectedValidUser !=
null
)
{
this
.dataModel.DeleteValidUser(
this
.SelectedValidUser);
this
.ValidUsers.Remove(
this
.SelectedValidUser);
}
}
private
void
OnSaveCommandExecute(
object
parameter)
{
this
.dataModel.SaveChanges();
}
protected
virtual
void
OnPropertyChanged(
string
info)
{
if
(
this
.PropertyChanged !=
null
)
this
.PropertyChanged(
this
,
new
PropertyChangedEventArgs(info));
}
}
}