CameraPanel lays out its children in a 3D like space.
You can give the children a 3D location and set the camera position for the panel.
This example shows a simple scene with CameraPanel
< Window x:Class ="CameraPanel.MainWindow"
xmlns ="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x ="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:xctk ="http://schemas.xceed.com/wpf/xaml/toolkit"
Title ="CameraPanel" >
< Grid >
< Grid.RowDefinitions >
< RowDefinition />
< RowDefinition Height ="Auto" />
</ Grid.RowDefinitions >
< xctk:CameraPanel x:Name ="panel"
Background =" {x:Null} "
CameraZ =" {Binding Path=Value, ElementName=zSlider} "
CameraX =" {Binding Path=Value, ElementName=xSlider} "
CameraY =" {Binding Path=Value, ElementName=ySlider} "
ClipToBounds ="True" >
< Rectangle Stroke =" {x:Null} "
Fill ="Green"
Width ="166"
Height ="1000"
VerticalAlignment ="Bottom"
xctk:CameraPanel.Depth ="300" />
< Rectangle Stroke =" {x:Null} "
Fill ="Blue"
Width ="166"
Height ="1000"
xctk:CameraPanel.Depth ="-600"
xctk:CameraPanel.Left ="800"
VerticalAlignment ="Bottom" />
< Rectangle Stroke =" {x:Null} "
Fill ="Red"
Width ="166"
Height ="1000"
xctk:CameraPanel.Depth ="-600"
xctk:CameraPanel.Left ="-800" />
< Rectangle Stroke =" {x:Null} "
Fill ="Yellow"
Width ="166"
Height ="1000"
xctk:CameraPanel.Depth ="0"
xctk:CameraPanel.Left ="300" />
< Path Stretch ="Fill"
Stroke =" {x:Null} "
Fill ="Orange"
Width ="5000"
Height ="1000"
Data ="M707.48904,558.12856 L2569,453.84605 3111.6667,3.2519989 5000,1000 0,1000 z"
xctk:CameraPanel.Depth ="-200"
xctk:CameraPanel.Left ="300"
RenderTransformOrigin ="0.5,0.5" />
</ xctk:CameraPanel >
< Border HorizontalAlignment ="Stretch"
VerticalAlignment ="Bottom"
Width ="Auto"
Height ="Auto"
Background ="#7FFFFFFF"
BorderBrush ="#7F000000"
BorderThickness ="3,3,3,3"
CornerRadius ="5,5,5,5"
Margin ="8,0,8,8"
Padding ="5,5,5,5" >
< StackPanel Width ="Auto"
Height ="Auto" >
< Grid >
< TextBlock Text ="X: "
HorizontalAlignment ="Left"
Width ="16.25" />
< Slider x:Name ="xSlider"
Minimum ="-1000"
Maximum ="1000"
Width ="Auto"
Value ="130"
HorizontalAlignment ="Stretch"
Margin ="16,0,0,0" />
</ Grid >
< Grid >
< TextBlock Text ="Y: "
HorizontalAlignment ="Left"
Width ="15.807" />
< Slider x:Name ="ySlider"
Minimum ="-1000"
Maximum ="1000"
Value ="140"
Margin ="16,0,0,0" />
</ Grid >
< Grid >
< TextBlock Text ="Z: "
HorizontalAlignment ="Left"
Width ="16.017" />
< Slider x:Name ="zSlider"
Value ="300"
Minimum ="-1000"
Maximum ="1000"
Margin ="16,0,0,0" />
</ Grid >
</ StackPanel >
</ Border >
</ Grid >
</ Window >
Target Platforms: Windows 11, Windows 10, Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2
2025 © Xceed Software Inc.
4170 Grande-Allée, Suite 100, Greenfield Park, Qc J4V 3N2