Glossary Item Box
In your xamDataPresenter™, you may want a Field to display an image. To do this, you need to override the CellValuePresenter's template.
The following procedure assumes you have a data bound xamDataPresenter where you want to place an image in a field. For more information, see Creating xamDataPresenter in XAML.
To display an image in a field:
In XAML:
<Style TargetType="{x:Type igDP:CellValuePresenter}" x:Key="ProductImage">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type igDP:CellValuePresenter}">
<Grid Width="{TemplateBinding Width}" Height="{TemplateBinding Height}">
<Image
Margin="{TemplateBinding Padding}"
HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"
VerticalAlignment="{TemplateBinding VerticalContentAlignment}"
Source="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=Content}"/>
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
In XAML:
<igDP:XamDataPresenter x:Name="XamDataPresenter1"
...
>
...
</igDP:XamDataPresenter>
In XAML:
<igDP:XamDataPresenter.FieldLayoutSettings>
<igDP:FieldLayoutSettings AutoGenerateFields="False" />
</igDP:XamDataPresenter.FieldLayoutSettings>
<igDP:XamDataPresenter.FieldLayouts>
<igDP:FieldLayout>
<igDP:FieldLayout.Fields>
<igDP:Field Name="ProductName" Label="Product Name" >
<igDP:Field.Settings>
<igDP:FieldSettings CellMinWidth="200"
CellWidth="200" />
</igDP:Field.Settings>
</igDP:Field>
<igDP:Field Name="Logo" Label="Product Logo">
<igDP:Field.Settings>
<igDP:FieldSettings CellMinWidth="200" CellWidth="200"
CellValuePresenterStyle="{StaticResource ProductImage}" />
</igDP:Field.Settings>
</igDP:Field>
</igDP:FieldLayout.Fields>
</igDP:FieldLayout>
</igDP:XamDataPresenter.FieldLayouts>
