By only showing us captions, you effectively nullify our ability to manage expanded properties. Look at every major UI tool, like Crystal Reports for example: select a UI element that is linked to a data field and you can visually see what data field is hooked. Please ;)
We have closed this ticket because another page addresses its subject:
How to show a full member path in the LayoutControl's Customization Form to avoid similar captions for properties with the same last member
Hello Drew,
I remember that you already logged a similar request in the past: Please augment the field chooser in the layout tool. While your suggestion looks useful, I am afraid we do not have any news on it for now.
The items corresponding to data fields within the layout control's customization form have no any knowledge of XAF features, e.g. a full property path. So, it would be necessary to provide this additional information into the control from XAF. You can see how the customization form can be accessed in XAF by checking the source code of the WinLayoutManagerController class and probably implement required adjustments yourself.
Ist not really hard in the meantime to implement this in Win.UI (only runtime, not ME).
hope this helps…
Implement your own LayoutManager, eg. public class MyLayoutManager : WinLayoutManager
{
In the ctor Register your control item wrapper -> this.layoutControl.RegisterCustomPropertyGridWrapper(typeof(XafLayoutControlItem), typeof(MyLayoutControlItemWrapper)); now in your wrapper you can implement whatever properties you want, i did this (and more):
public class MyLayoutControlItemWrapper : LayoutControlItemWrapper
[Category("XAF")]
public string PropertyName
{
get
{
var xafLayoutItem = this.Item as XafLayoutControlItem;
if (xafLayoutItem != null)
{
var editor = xafLayoutItem.ViewItem as PropertyEditor;
if (editor != null)
return editor.MemberInfo.Name;
}
return null;
}
}
/// <summary>
/// Gets the name of the class.
/// </summary>
/// <value>
/// The name of the class.
/// </value>
[Category("XAF")]
public string ClassName
{
get
{
var xafLayoutItem = this.Item as XafLayoutControlItem;
if (xafLayoutItem != null)
{
var editor = xafLayoutItem.ViewItem as PropertyEditor;
if (editor != null)
return editor.MemberInfo.Owner.FullName;
}
return null;
}
}