Greeting,
I am currently working on an interface which resembles Visual Studio. We use a lot of Panes and in one of them we added a PanelBar with PanelBarItems in it. In each PanelBarItem, we use a different UserControl where we add label and NumericUpDown. Everything works great as expected but during runtime, the ContentControl adds a big margin. Our GUI will be heavy in term of controls and we need to reduce this margin to make more space for them. I tried following the instructions online to modify the styling of the PanelBarItem but to no avail. While some modifications affect the end result, I cannot change the margin of the ControlContent.
Here is the code in the pane :
<
telerik:RadPanelBar
Margin
=
"0"
VerticalAlignment
=
"Top"
>
<
telerik:RadPanelBarItem
Header
=
"Integration Mesure"
HorizontalContentAlignment
=
"Stretch"
VerticalContentAlignment
=
"Stretch"
Style="{DynamicResource myWay}">
<
Grid
HorizontalAlignment
=
"Left"
VerticalAlignment
=
"Top"
>
<
hop:hopIntegration
Margin
=
"0"
/>
</
Grid
>
</
telerik:RadPanelBarItem
>
And here is the code for the styling.
001.
<
Style
x:Key
=
"myWay"
TargetType
=
"{x:Type telerik:RadPanelBarItem}"
>
002.
<
Setter
Property
=
"MaterialControls:MaterialAssist.MouseOverBrush"
Value
=
"{telerik:MaterialResource ResourceKey={x:Static telerik:MaterialResourceKey.AlternativeBrush}}"
/>
003.
<
Setter
Property
=
"MaterialControls:MaterialAssist.PressedBrush"
Value
=
"{telerik:MaterialResource ResourceKey={x:Static telerik:MaterialResourceKey.ComplementaryBrush}}"
/>
004.
<
Setter
Property
=
"MaterialControls:MaterialAssist.CheckedBrush"
Value
=
"{telerik:MaterialResource ResourceKey={x:Static telerik:MaterialResourceKey.DividerBrush}}"
/>
005.
<
Setter
Property
=
"MaterialControls:MaterialAssist.ShadowDepth"
Value
=
"Depth1"
/>
006.
<
Setter
Property
=
"TextOptions.TextRenderingMode"
Value
=
"ClearType"
/>
007.
<
Setter
Property
=
"ExpanderStyle"
>
008.
<
Setter.Value
>
009.
<
Style
TargetType
=
"{x:Type TextBlock}"
>
010.
<
Setter
Property
=
"telerik:GlyphAdorner.ShowGlyphInDesignTime"
Value
=
"True"
/>
011.
<
Setter
Property
=
"Grid.Column"
Value
=
"5"
/>
012.
<
Setter
Property
=
"Margin"
Value
=
"16,0"
/>
013.
<
Setter
Property
=
"HorizontalAlignment"
Value
=
"Right"
/>
014.
<
Setter
Property
=
"VerticalAlignment"
Value
=
"Center"
/>
015.
<
Setter
Property
=
"Foreground"
Value
=
"{telerik:MaterialResource ResourceKey={x:Static telerik:MaterialResourceKey.MarkerBrush}}"
/>
016.
<
Setter
Property
=
"Opacity"
Value
=
"{telerik:MaterialResource ResourceKey={x:Static telerik:MaterialResourceKey.PrimaryOpacity}}"
/>
017.
<
Setter
Property
=
"Text"
Value
=
""
/>
018.
<
Setter
Property
=
"FontFamily"
Value
=
"/Telerik.Windows.Controls;component/Themes/Fonts/TelerikWebUI.ttf#TelerikWebUI"
/>
019.
<
Setter
Property
=
"FontSize"
Value
=
"16"
/>
020.
<
Setter
Property
=
"Opacity"
Value
=
"{telerik:MaterialResource ResourceKey={x:Static telerik:MaterialResourceKey.PrimaryOpacity}}"
/>
021.
<
Setter
Property
=
"FontStyle"
Value
=
"Normal"
/>
022.
<
Setter
Property
=
"FontWeight"
Value
=
"Normal"
/>
023.
</
Style
>
024.
</
Setter.Value
>
025.
</
Setter
>
026.
<
Setter
Property
=
"Template"
>
027.
<
Setter.Value
>
028.
<
ControlTemplate
TargetType
=
"{x:Type telerik:RadPanelBarItem}"
>
029.
<
Grid
x:Name
=
"RootElement"
>
030.
<
Grid.RowDefinitions
>
031.
<
RowDefinition
Height
=
"Auto"
/>
032.
<
RowDefinition
Height
=
"*"
/>
033.
</
Grid.RowDefinitions
>
034.
<
Grid
x:Name
=
"HeaderRow"
Background
=
"Transparent"
Margin
=
"0"
MinHeight
=
"{TemplateBinding MinHeight}"
>
035.
<
Border
x:Name
=
"BorderVisual"
BorderBrush
=
"{TemplateBinding BorderBrush}"
BorderThickness
=
"{TemplateBinding BorderThickness}"
Background
=
"{Binding Background, Mode=OneWay, RelativeSource={RelativeSource FindAncestor, AncestorLevel=1, AncestorType={x:Type telerik:RadPanelBar}}}"
Grid.RowSpan
=
"2"
SnapsToDevicePixels
=
"{TemplateBinding SnapsToDevicePixels}"
/>
036.
<
MaterialControls:MaterialControl
IsSmartClipped
=
"True"
>
037.
<
ContentControl
x:Name
=
"Header"
ContentTemplate
=
"{TemplateBinding HeaderTemplate}"
Foreground
=
"{Binding Foreground, Mode=OneWay, RelativeSource={RelativeSource TemplatedParent}}"
FontWeight
=
"{TemplateBinding FontWeight}"
HorizontalAlignment
=
"{TemplateBinding HorizontalContentAlignment}"
Margin
=
"0"
VerticalAlignment
=
"{TemplateBinding VerticalContentAlignment}"
/>
038.
</
MaterialControls:MaterialControl
>
039.
</
Grid
>
040.
<
Grid
x:Name
=
"ItemsContainer"
Grid.Row
=
"1"
Visibility
=
"Collapsed"
>
041.
<
ItemsPresenter
/>
042.
</
Grid
>
043.
</
Grid
>
044.
<
ControlTemplate.Triggers
>
045.
<
Trigger
Property
=
"IsExpanded"
Value
=
"True"
>
046.
<
Setter
Property
=
"Visibility"
TargetName
=
"ItemsContainer"
Value
=
"Visible"
/>
047.
</
Trigger
>
048.
<
Trigger
Property
=
"IsEnabled"
Value
=
"False"
>
049.
<
Setter
Property
=
"Opacity"
TargetName
=
"Header"
Value
=
"{telerik:MaterialResource ResourceKey={x:Static telerik:MaterialResourceKey.DisabledOpacity}}"
/>
050.
</
Trigger
>
051.
<
Trigger
Property
=
"IsSelected"
Value
=
"True"
>
052.
<
Setter
Property
=
"Foreground"
TargetName
=
"Header"
Value
=
"{telerik:MaterialResource ResourceKey={x:Static telerik:MaterialResourceKey.PrimaryNormalBrush}}"
/>
053.
</
Trigger
>
054.
</
ControlTemplate.Triggers
>
055.
</
ControlTemplate
>
056.
</
Setter.Value
>
057.
</
Setter
>
058.
<
Setter
Property
=
"Background"
Value
=
"{telerik:MaterialResource ResourceKey={x:Static telerik:MaterialResourceKey.MainBrush}}"
/>
059.
<
Setter
Property
=
"BorderBrush"
Value
=
"Transparent"
/>
060.
<
Setter
Property
=
"BorderThickness"
Value
=
"0"
/>
061.
<
Setter
Property
=
"Padding"
Value
=
"16,16,16,15"
/>
062.
<
Setter
Property
=
"FocusVisualStyle"
Value
=
"{x:Null}"
/>
063.
<
Setter
Property
=
"HorizontalContentAlignment"
Value
=
"Stretch"
/>
064.
<
Setter
Property
=
"VerticalContentAlignment"
Value
=
"Stretch"
/>
065.
<
Setter
Property
=
"ChildItemsTemplate"
>
066.
<
Setter.Value
>
067.
<
ControlTemplate
TargetType
=
"{x:Type telerik:RadPanelBarItem}"
>
068.
<
Grid
x:Name
=
"RootElement"
>
069.
<
Grid.RowDefinitions
>
070.
<
RowDefinition
Height
=
"Auto"
/>
071.
<
RowDefinition
Height
=
"*"
/>
072.
</
Grid.RowDefinitions
>
073.
<
Grid
x:Name
=
"HeaderRow"
Background
=
"Transparent"
Margin
=
"0"
MinHeight
=
"{TemplateBinding MinHeight}"
>
074.
<
Border
x:Name
=
"BorderVisual"
BorderBrush
=
"{TemplateBinding BorderBrush}"
BorderThickness
=
"{TemplateBinding BorderThickness}"
Background
=
"{Binding Background, Mode=OneWay, RelativeSource={RelativeSource FindAncestor, AncestorLevel=1, AncestorType={x:Type telerik:RadPanelBar}}}"
Grid.RowSpan
=
"2"
SnapsToDevicePixels
=
"{TemplateBinding SnapsToDevicePixels}"
/>
075.
<
MaterialControls:MaterialControl
IsSmartClipped
=
"True"
>
076.
<
ContentControl
x:Name
=
"Header"
ContentTemplate
=
"{TemplateBinding HeaderTemplate}"
Foreground
=
"{Binding Foreground, Mode=OneWay, RelativeSource={RelativeSource TemplatedParent}}"
FontWeight
=
"{TemplateBinding FontWeight}"
HorizontalAlignment
=
"{TemplateBinding HorizontalContentAlignment}"
Margin
=
"0"
VerticalAlignment
=
"{TemplateBinding VerticalContentAlignment}"
/>
077.
</
MaterialControls:MaterialControl
>
078.
</
Grid
>
079.
<
Grid
x:Name
=
"ItemsContainer"
Grid.Row
=
"1"
Visibility
=
"Collapsed"
>
080.
<
ItemsPresenter
/>
081.
</
Grid
>
082.
</
Grid
>
083.
<
ControlTemplate.Triggers
>
084.
<
Trigger
Property
=
"IsExpanded"
Value
=
"True"
>
085.
<
Setter
Property
=
"Visibility"
TargetName
=
"ItemsContainer"
Value
=
"Visible"
/>
086.
</
Trigger
>
087.
<
Trigger
Property
=
"IsEnabled"
Value
=
"False"
>
088.
<
Setter
Property
=
"Opacity"
TargetName
=
"Header"
Value
=
"{telerik:MaterialResource ResourceKey={x:Static telerik:MaterialResourceKey.DisabledOpacity}}"
/>
089.
</
Trigger
>
090.
<
Trigger
Property
=
"IsSelected"
Value
=
"True"
>
091.
<
Setter
Property
=
"Foreground"
TargetName
=
"Header"
Value
=
"{telerik:MaterialResource ResourceKey={x:Static telerik:MaterialResourceKey.PrimaryNormalBrush}}"
/>
092.
</
Trigger
>
093.
</
ControlTemplate.Triggers
>
094.
</
ControlTemplate
>
095.
</
Setter.Value
>
096.
</
Setter
>
097.
<
Setter
Property
=
"KeyboardNavigation.TabNavigation"
Value
=
"Local"
/>
098.
<
Setter
Property
=
"SnapsToDevicePixels"
Value
=
"True"
/>
099.
<
Setter
Property
=
"ItemsPanel"
>
100.
<
Setter.Value
>
101.
<
ItemsPanelTemplate
>
102.
<
telerik:PanelBarPanel
IsItemsHost
=
"True"
/>
103.
</
ItemsPanelTemplate
>
104.
</
Setter.Value
>
105.
</
Setter
>
106.
<
Style.Triggers
>
107.
<
Trigger
Property
=
"Level"
Value
=
"1"
>
108.
<
Setter
Property
=
"Template"
>
109.
<
Setter.Value
>
110.
<
ControlTemplate
TargetType
=
"{x:Type telerik:RadPanelBarItem}"
>
111.
<
Grid
x:Name
=
"RootElement"
>
112.
<
Grid.RowDefinitions
>
113.
<
RowDefinition
Height
=
"Auto"
/>
114.
<
RowDefinition
Height
=
"*"
/>
115.
</
Grid.RowDefinitions
>
116.
<
MaterialControls:Shadow
Background
=
"{TemplateBinding Background}"
Grid.RowSpan
=
"2"
ShadowDepth
=
"{TemplateBinding MaterialControls:MaterialAssist.ShadowDepth}"
/>
117.
<
Border
x:Name
=
"BorderVisual"
BorderBrush
=
"{TemplateBinding BorderBrush}"
BorderThickness
=
"{TemplateBinding BorderThickness}"
Background
=
"{TemplateBinding Background}"
Grid.RowSpan
=
"2"
SnapsToDevicePixels
=
"{TemplateBinding SnapsToDevicePixels}"
/>
118.
<
MaterialControls:MaterialControl
x:Name
=
"Ripple"
IsSmartClipped
=
"True"
>
119.
<
Grid
x:Name
=
"HeaderRow"
Background
=
"#01FFFFFF"
UseLayoutRounding
=
"True"
>
120.
<
Grid.ColumnDefinitions
>
121.
<
ColumnDefinition
Width
=
"Auto"
/>
122.
<
ColumnDefinition
Width
=
"Auto"
/>
123.
<
ColumnDefinition
Width
=
"Auto"
/>
124.
<
ColumnDefinition
Width
=
"*"
/>
125.
<
ColumnDefinition
Width
=
"Auto"
/>
126.
</
Grid.ColumnDefinitions
>
127.
<
TextBlock
x:Name
=
"arrow"
Style
=
"{TemplateBinding ExpanderStyle}"
/>
128.
<
ContentControl
x:Name
=
"Header"
Grid.ColumnSpan
=
"4"
ContentTemplate
=
"{TemplateBinding HeaderTemplate}"
ContentStringFormat
=
"{TemplateBinding HeaderStringFormat}"
Foreground
=
"{Binding Foreground, Mode=OneWay, RelativeSource={RelativeSource TemplatedParent}}"
FontWeight
=
"{TemplateBinding FontWeight}"
FontSize
=
"{TemplateBinding FontSize}"
HorizontalAlignment
=
"{TemplateBinding HorizontalContentAlignment}"
Margin
=
"{TemplateBinding Padding}"
VerticalAlignment
=
"{TemplateBinding VerticalContentAlignment}"
/>
129.
</
Grid
>
130.
</
MaterialControls:MaterialControl
>
131.
<
Grid
x:Name
=
"ItemsContainer"
Grid.Row
=
"1"
Visibility
=
"Collapsed"
>
132.
<
telerik:LayoutTransformControl
x:Name
=
"transformationRoot"
IsTabStop
=
"False"
>
133.
<
ItemsPresenter
/>
134.
</
telerik:LayoutTransformControl
>
135.
</
Grid
>
136.
</
Grid
>
137.
<
ControlTemplate.Triggers
>
138.
<
Trigger
Property
=
"IsExpanded"
Value
=
"True"
>
139.
<
Setter
Property
=
"Text"
TargetName
=
"arrow"
Value
=
""
/>
140.
<
Setter
Property
=
"Foreground"
TargetName
=
"Header"
Value
=
"{telerik:MaterialResource ResourceKey={x:Static telerik:MaterialResourceKey.PrimaryNormalBrush}}"
/>
141.
<
Setter
Property
=
"Visibility"
TargetName
=
"ItemsContainer"
Value
=
"Visible"
/>
142.
<
Setter
Property
=
"Margin"
Value
=
"0,8"
/>
143.
</
Trigger
>
144.
<
Trigger
Property
=
"IsEnabled"
Value
=
"False"
>
145.
<
Setter
Property
=
"Opacity"
TargetName
=
"Header"
Value
=
"{telerik:MaterialResource ResourceKey={x:Static telerik:MaterialResourceKey.DisabledOpacity}}"
/>
146.
<
Setter
Property
=
"Opacity"
TargetName
=
"arrow"
Value
=
"{telerik:MaterialResource ResourceKey={x:Static telerik:MaterialResourceKey.DisabledOpacity}}"
/>
147.
</
Trigger
>
148.
<
Trigger
Property
=
"IsSelected"
Value
=
"True"
>
149.
<
Setter
Property
=
"Foreground"
TargetName
=
"Header"
Value
=
"{telerik:MaterialResource ResourceKey={x:Static telerik:MaterialResourceKey.PrimaryPressedBrush}}"
/>
150.
</
Trigger
>
151.
<
Trigger
Property
=
"IsMouseOver"
SourceName
=
"Ripple"
Value
=
"True"
>
152.
<
Setter
Property
=
"MaterialControls:MaterialAssist.ShadowDepth"
Value
=
"Depth2"
/>
153.
</
Trigger
>
154.
</
ControlTemplate.Triggers
>
155.
</
ControlTemplate
>
156.
</
Setter.Value
>
157.
</
Setter
>
158.
</
Trigger
>
159.
</
Style.Triggers
>
160.
</
Style
>
I changed the margin at line 37 and line 76 for zero but it seems that they are overwritten by something else. I added in attachment an image showing the Visual tree during runtime and where the margin is added. I am fairly new to styling but any help would be greatly appreciated.
Thank you