Style the treegrid
How do you style the treegrid control to look like a normal treeview control. Looking at the picture on your web page ( Fully Customizable) this looks possible. Is there a example somewhere I can have a look at.
regards
Tony
SIGN IN To post a reply.
7 Replies
MK
Muthukumar Kalyanasundaram
Syncfusion Team
June 28, 2017 08:51 AM UTC
Hi Tony,
Thank you for contacting Syncfusion support.
We have checked your query. Based on your requirement, we have prepared sample. In the sample, we have loaded the treeGrid with image and textblock control in TreeGridTextColumn as shown like below code,
Code Snippet: Xaml
|
<Page.Resources>
<local:ImageConverter x:Key="imageConverter" />
</Page.Resources>
<syncfusion:SfTreeGrid.Columns>
<syncfusion:TreeGridTextColumn Width="150"
MappingName="Name"
SetCellBoundValue="True">
<syncfusion:TreeGridTextColumn.CellTemplate>
<DataTemplate>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<Image Grid.Column="0"
MinWidth="35"
Margin="1,6,0,6"
Source="{Binding Converter={StaticResource imageConverter}}" />
<TextBlock Grid.Column="1"
Margin="2"
HorizontalAlignment="Left"
VerticalAlignment="Center"
Text="{Binding Path=Value}" />
</Grid>
</DataTemplate>
</syncfusion:TreeGridTextColumn.CellTemplate>
</syncfusion:TreeGridTextColumn> |
Code Snippet: C#
|
internal class ImageConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, string language)
{
var datacontext = value as DataContextHelper;
if (datacontext.Value.ToString() == "Inbox" || datacontext.Value.ToString() == "Drafts" || datacontext.Value.ToString() == "Sent Items"
|| datacontext.Value.ToString() == "Deleted Items" || datacontext.Value.ToString() == "Calendar" || datacontext.Value.ToString() == "Contacts")
return "ms-appx:///Images///" + datacontext.Value.ToString() + ".png";
return "ms-appx:///Images///" + "Folder.png";
}
public object ConvertBack(object value, Type targetType, object parameter, string language)
{
return null;
}
}
|
And also you can refer the TreeViewDemo sample in the installed Essential Studio in the below location,
Path location: \..\AppData\Local\Syncfusion\EssentialStudio\{installed version}\UWP\SampleBrowser\SfTreeGrid\Views\Getting Started.
Please let us know if you have any query.
Regards,
Muthukumar K
TO
tonyb
June 30, 2017 06:41 AM UTC
Hi Muthukuma
Just what I was looking for , thanks for your help.
regards
Tony Broome
MK
Muthukumar Kalyanasundaram
Syncfusion Team
July 2, 2017 07:16 AM UTC
Hi Tony,
Thanks for the update. Please let us know if you need any other assistance.
Regards,
Muthukumar K
DB
Dave Brooks
March 24, 2018 05:13 PM UTC
This is a really great sample, thank you.
Is there any way to style the expander button (the + sign)?
MK
Muthukumar Kalyanasundaram
Syncfusion Team
March 26, 2018 12:19 PM UTC
Hi Dave,
Thanks for the update. Yes. You can achieve your requirement by customizing the style of TreeGridExpander as like below code,
Code Snippet: XAML
|
<Style TargetType="syncfusion:TreeGridExpander">
<Setter Property="Foreground" Value="{StaticResource ApplicationForegroundThemeBrush}" />
<Setter Property="Background" Value="Transparent" />
<Setter Property="BorderBrush" Value="Gray" />
<Setter Property="BorderThickness" Value="1,1,1,1" />
<Setter Property="FontSize" Value="12" />
<Setter Property="IsTabStop" Value="False" />
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="syncfusion:TreeGridExpander">
<Border Background="Transparent"
BorderBrush="{TemplateBinding BorderBrush}"
BorderThickness="{TemplateBinding BorderThickness}">
<VisualStateManager.VisualStateGroups>
<VisualStateGroup x:Name="ExpandedState">
<VisualState x:Name="Expanded">
<Storyboard>
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="PART_CollapseCellPath" Storyboard.TargetProperty="(FrameworkElement.Visibility)">
<DiscreteObjectKeyFrame KeyTime="0:0:0">
. . . . . .
. . . . . .
. . . . . .
<Grid Background="{TemplateBinding Background}">
<Path x:Name="PART_CollapseCellPath"
Margin="1"
Data="F1M0.697,8.01L0,7.293 3.373,4.005 0,0.717 0.697,0 4.804,4.005z"
Fill="{TemplateBinding Foreground}"
Stretch="Uniform"
RenderTransformOrigin="0.5,0.5"
Visibility="Collapsed"/>
<Path x:Name="PART_ExpanderCellPath"
Margin="1"
Data="F1M4.005,4.805L0,0.698 0.717,0 4.005,3.373 7.293,0 8.01,0.698z"
Fill="{TemplateBinding Foreground}"
RenderTransformOrigin="0.5,0.5"
Stretch="Uniform"
Visibility="Visible"/>
</Grid>
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style> |
Please let us know if you have any concerns.
Regards,
Muthukumar K
DB
Dave Brooks
March 29, 2018 09:42 AM UTC
Terrific.
Thank you very much.
JG
Jai Ganesh S
Syncfusion Team
March 30, 2018 12:45 AM UTC
Hi Dave,
Thank you for the update.
Please let us know if you need further assistance on this.
Regards,
Jai Ganesh S
SIGN IN To post a reply.
- 7 Replies
- 4 Participants
-
TO tonyb
- Jun 27, 2017 07:37 AM UTC
- Mar 30, 2018 12:45 AM UTC