or
<Style x:Key="CustomLinkStyle" TargetType="telerik:RadDiagramConnection"> <
telerik:RadGridView
Grid.Row
=
"1"
Name
=
"adjustments"
CanUserDeleteRows
=
"False"
CanUserInsertRows
=
"False"
CanUserResizeRows
=
"False"
ShowGroupPanel
=
"False"
SelectionChanged
=
"adjustments_SelectionChanged"
ItemsSource
=
"{Binding Path=CurrentClaim.claimAdjustments, RelativeSource={RelativeSource FindAncestor, AncestorType=UserControl}}"
AutoGenerateColumns
=
"False"
IsReadOnly
=
"True"
MouseDoubleClick
=
"adjustments_MouseDoubleClick"
>
<
telerik:RadGridView.Columns
>
<
telerik:GridViewDataColumn
Name
=
"colCreatedOn"
DataMemberBinding
=
"{Binding createdOn}"
Header
=
"Posting Date"
DataFormatString
=
"{}{0:MM/dd/yyyy}"
SortingState
=
"Descending"
/>
<
telerik:GridViewDataColumn
DataMemberBinding
=
"{Binding claimAdjustmentReason.description}"
Header
=
"Reason"
/>
</
telerik:RadGridView.Columns
>
</
telerik:RadGridView
>
public
class
Company : INotifyPropertyChanged
{
public
Company()
{
Dept =
new
Dictionary<
string
, User>();
}
private
Dictionary<
string
,User> dept;
public
Dictionary<
string
,User> Dept
{
get
{
return
dept; }
set
{
dept = value;
OnPropertyChanged(
"Dept"
);
}
}
}
public
class
User : INotifyPropertyChanged
{
private
string
firstName;
public
string
FirstName
{
get
{
return
firstName; }
set
{
firstName = value;
OnPropertyChanged(
"FirstName"
);
}
}
private
string
lastName;
public
string
LastName
{
get
{
return
lastName; }
set
{
lastName = value;
OnPropertyChanged(
"LastName"
);
}
}
}
<
telerik:RadGridView
ItemsSource
=
"{Binding Path=Country.Companies, UpdateSourceTrigger=PropertyChanged}"
dynamicCol:RadGridViewColumnsBinding.ColumnsCollection
=
"{Binding Path=Columns}"
>
<
telerik:RadGridView.Resources
>
<
DataTemplate
x:Key
=
"UserTemplate"
DataType
=
"{x:Type models:User}"
>
<
StackPanel
>
<
TextBlock
Text
=
"LastName:"
/>
<
TextBlock
Text
=
"{Binding Path=LastName}"
/>
</
StackPanel
>
</
DataTemplate
>
</
telerik:RadGridView.Resources
>
</
telerik:RadGridView
>
string
bindingExp =
string
.Format(
"Dept[{0}]"
, columnName);
//string bindingExp = string.Format("Dept[{0}].LastName", columnName); // whithout datatemplate this work
var binding =
new
Binding(bindingExp)
{
UpdateSourceTrigger = UpdateSourceTrigger.PropertyChanged
};
Columns.Add(
new
ColumnDefinition
{
Header = columnName,
DataMemberBinding = binding,
Tag = ColumnTag,
UniqueName = Guid.NewGuid().ToString(),
CellTemplateName =
"UserTemplate"
,
});