or
<
ScrollContentPresenter
Grid.Row
=
"2"
CanContentScroll
=
"{TemplateBinding CanContentScroll}"
CanHorizontallyScroll
=
"False"
CanVerticallyScroll
=
"False"
>
<
ScrollContentPresenter.Content
>
<
StackPanel
Orientation
=
"Vertical"
>
<
ContentPresenter
ContentTemplate
=
"{TemplateBinding ContentTemplate}"
Content
=
"{TemplateBinding Content}"
ContentStringFormat
=
"{TemplateBinding ContentStringFormat}"
/>
<!-- Loading indicator -->
<
Button
Content
=
"Loading..."
/>
</
StackPanel
>
</
ScrollContentPresenter.Content
>
</
ScrollContentPresenter
>
public class TreeFolderHierarchyItem : INotifyPropertyChanged
{
#region properties
private string _header;
private bool _isexpanded;
private string _defaultimagesrc;
private string _expandedimagesrc;
private string _collapsedimagesrc;
private TreeFolderItem _tag;
private TreeFolderHierarchy _items;
public string Header
{
get { return _header; }
set
{
if (value != _header)
{
_header = value;
OnPropertyChange("Header");
}
}
}
public bool IsExpanded
{
get { return _isexpanded; }
set {
if (value != _isexpanded)
{
_isexpanded = value;
OnPropertyChange("IsExpanded");
}
}
}
public string DefaultImageSource
{
get { return _defaultimagesrc; }
set
{
if (value != _defaultimagesrc)
{
_defaultimagesrc = value;
OnPropertyChange("DefaultImageSource");
}
}
}
public string ExpandedImageSource
{
get { return _expandedimagesrc; }
set
{
if (value != _expandedimagesrc)
{
_expandedimagesrc = value;
OnPropertyChange("ExpandedImageSource");
}
}
}
public string CollapsedImageSource
{
get { return _collapsedimagesrc; }
set
{
if (value!= _collapsedimagesrc)
{
_collapsedimagesrc = value;
OnPropertyChange("CollapsedImageSource");
}
}
}
public TreeFolderItem Tag
{
get { return _tag; }
set
{
if (value != _tag)
{
_tag = value;
OnPropertyChange("Tag");
}
}
}
public TreeFolderHierarchy Items
{
get
{
return _items;
}
set
{
if (value != _items)
{
_items = value;
OnPropertyChange("Child");
}
}
}
public int ID
{
get { return Tag.ID; }
set {
if (value != Tag.ID)
{
Tag.ID = value;
OnPropertyChange("ID");
}
}
}
public TreeFolderHierarchyItem(TreeFolderItem tag, bool isexpanded )
{
_items = new TreeFolderHierarchy();
if (tag == null)
throw new ArgumentException();
_tag = tag;
SetProperties(isexpanded);
}
private void SetProperties(bool isexpanded)
{
_header = _tag.Titre;
_isexpanded = isexpanded;
switch (_tag.Type)
{
case TreeFolderType.Acte:
_defaultimagesrc = "folder.png";
_expandedimagesrc = "openedfolder.png";
_collapsedimagesrc = "folder.png";
break;
case TreeFolderType.Message:
_defaultimagesrc = "sent.png";
_expandedimagesrc = "sent.png";
_collapsedimagesrc = "sent.png";
break;
case TreeFolderType.Pdf:
_defaultimagesrc = "3Drafts.png";
_expandedimagesrc = "3Drafts.png";
_collapsedimagesrc = "3Drafts.png";
break;
case TreeFolderType.Libre:
_defaultimagesrc = "1PersonalFolder.png";
_expandedimagesrc = "1PersonalFolder.png";
_collapsedimagesrc = "1PersonalFolder.png";
break;
}
}
#endregion
public event PropertyChangedEventHandler PropertyChanged;
// Helper Methods
private void OnPropertyChange(string propertyName)
{
if (PropertyChanged != null)
{
PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
}
}
}
<
Window
x:Class
=
"Company.ApplicationName.UI.DesktopClient.Windows.Main"
xmlns:controls
=
"clr-namespace:Company.ApplicationName.UI.DesktopClient.Controls"
Title
=
"Main"
xmlns:telerik
=
"http://schemas.telerik.com/2008/xaml/presentation"
WindowStartupLocation
=
"CenterScreen"
WindowState
=
"Maximized"
Height
=
"600"
Width
=
"700"
Icon
=
"/Company.ApplicationName.UI.DesktopClient;component/Resources/application_icon.png"
>
<
Grid
>
<
Grid.RowDefinitions
>
<
RowDefinition
Height
=
"Auto"
/>
<
RowDefinition
Height
=
"*"
/>
</
Grid.RowDefinitions
>
<
telerik:RadRibbonBar
Margin
=
"0,0,0,0"
Name
=
"radRibbonBar1"
VerticalAlignment
=
"Top"
Title
=
"Main Dashboard"
ApplicationName
=
"Available To Promise"
ApplicationButtonImageSource
=
"/Company.ApplicationName.UI.DesktopClient;component/Resources/application_logo.png"
ClipToBounds
=
"True"
>
<
telerik:RadRibbonBar.ApplicationMenu
>
<
telerik:ApplicationMenu
>
<
telerik:RadRibbonButton
LargeImage
=
"/Company.ApplicationName.UI.DesktopClient;component/Resources/MenuItems/save.png"
Text
=
"Save"
/>
<
telerik:RadRibbonButton
LargeImage
=
"/Company.ApplicationName.UI.DesktopClient;component/Resources/MenuItems/exit.png"
Text
=
"Exit"
/>
</
telerik:ApplicationMenu
>
</
telerik:RadRibbonBar.ApplicationMenu
>
<
telerik:RadRibbonTab
Header
=
"Home"
>
<
telerik:RadRibbonGroup
Header
=
"Clipboard"
>
<
telerik:RadRibbonSplitButton
Text
=
"Paste"
LargeImage
=
"/Company.ApplicationName.UI.DesktopClient;component/Resources/MenuItems/paste.png"
Size
=
"Large"
telerik:ScreenTip.Title
=
"Paste(Ctrl+V)"
telerik:ScreenTip.Description
=
"Paste the contents the Clipboard."
>
<
telerik:RadRibbonSplitButton.DropDownContent
>
<
telerik:RadContextMenu
BorderThickness
=
"0"
>
<
telerik:RadMenuItem
Header
=
"Paste"
/>
</
telerik:RadContextMenu
>
</
telerik:RadRibbonSplitButton.DropDownContent
>
</
telerik:RadRibbonSplitButton
>
</
telerik:RadRibbonGroup
>
</
telerik:RadRibbonTab
>
<
telerik:RadRibbonTab
Header
=
"Admin"
>
</
telerik:RadRibbonTab
>
<
telerik:RadRibbonTab
Header
=
"View"
/>
</
telerik:RadRibbonBar
>
<
telerik:RadRibbonTab
Header
=
"Planning"
>
</
telerik:RadRibbonTab
>
<
telerik:RadRibbonTab
Header
=
"Reports"
>
</
telerik:RadRibbonTab
>
<
telerik:RadRibbonTab
Header
=
"Modeling Scenarios"
>
</
telerik:RadRibbonTab
>
<
Grid
Grid.Row
=
"1"
>
<
Grid.RowDefinitions
>
<
RowDefinition
Height
=
"Auto"
/>
<
RowDefinition
Height
=
"*"
/>
</
Grid.RowDefinitions
>
<
telerik:RadDocking
ClipToBounds
=
"True"
Margin
=
"0,0,0,0"
AllowUnsafeMode
=
"True"
VerticalAlignment
=
"Stretch"
HorizontalContentAlignment
=
"Stretch"
VerticalContentAlignment
=
"Stretch"
>
<
telerik:RadDocking.DocumentHost
>
<
telerik:RadSplitContainer
>
<
telerik:RadPaneGroup
>
<
telerik:RadPane
Header
=
"Description"
>
<
TextBlock
TextWrapping
=
"Wrap"
Text
=
"On the Documents tab above press Ctrl + Mouse Left button to display the Popup Menu. You can use the same combination on every tab."
/>
</
telerik:RadPane
>
<
telerik:RadPane
Header
=
"NonDraggable"
CanFloat
=
"False"
>
<
TextBlock
TextWrapping
=
"Wrap"
Text
=
"This pane cannot be dragged, because it has its property CanFloat set 'False'."
/>
</
telerik:RadPane
>
</
telerik:RadPaneGroup
>
</
telerik:RadSplitContainer
>
</
telerik:RadDocking.DocumentHost
>
<
telerik:RadSplitContainer
InitialPosition
=
"DockedLeft"
VerticalAlignment
=
"Bottom"
>
<
telerik:RadPaneGroup
>
<
telerik:RadPane
Header
=
"Progress/Schedule"
>
<
controls:ProgressBar
></
controls:ProgressBar
>
</
telerik:RadPane
>
<
telerik:RadPane
Header
=
"Server Explorer"
/>
</
telerik:RadPaneGroup
>
</
telerik:RadSplitContainer
>
<
telerik:RadSplitContainer
InitialPosition
=
"DockedRight"
>
<
telerik:RadPaneGroup
>
<
telerik:RadPane
Header
=
"Properties"
/>
<
telerik:RadPane
Header
=
"Solution Explorer"
/>
</
telerik:RadPaneGroup
>
</
telerik:RadSplitContainer
>
<
telerik:RadSplitContainer
InitialPosition
=
"DockedBottom"
>
<
telerik:RadPaneGroup
>
<
telerik:RadPane
Header
=
"Output"
/>
<
telerik:RadPane
Header
=
"Error List"
/>
</
telerik:RadPaneGroup
>
</
telerik:RadSplitContainer
>
</
telerik:RadDocking
>
</
Grid
>
</
Grid
>
</
Window
>