Я новичок в WPF, и я использую сетку свойств xceed, в моем классе у меня есть настраиваемый редактор коллекций. Что касается xceed, я обнаружил, что мне нужно реализовать «Xceed.Wpf.Toolkit.PropertyGrid.Editors.ITypeEditor», я реализовал это, но я получаю сообщение об ошибке при попытке установить привязку. Сообщение об ошибке: «Для двусторонней привязки требуется Path или XPath». Ниже представлен класс C #, в котором определено свойство:
/// <summary>
/// The expected assembly versions.
/// </summary>
[DescriptionAttribute("The expected assembly versions.")]
[Category("Mandatory")]
[ExpandableObject]
[Editor(typeof(Assembly), typeof(Assembly))]
public Assembly[] ExpectedAssemblyVersions
{
get;
set;
}
/// <summary>
/// To verify assembly and there versions
/// </summary>
[TypeConverterAttribute(typeof(ExpandableObjectConverter))]
public class Assembly : Xceed.Wpf.Toolkit.PropertyGrid.Editors.ITypeEditor
{
/// <summary>
/// Assembly Name
/// </summary>
public string Name { get; set; }
/// <summary>
/// Assembly versions
/// </summary>
public string[] Versions { get; set; }
#region Implementation of ITypeEditor
/// <summary>
///
/// </summary>
/// <param name="propertyItem"></param>
/// <returns></returns>
public FrameworkElement ResolveEditor(PropertyItem propertyItem)
{
TextBox textBox = new TextBox();
var _binding = new Binding(Name);
_binding.Source = propertyItem;
_binding.ValidatesOnExceptions = true;
_binding.ValidatesOnDataErrors = true;
_binding.Mode = propertyItem.IsReadOnly ? BindingMode.OneWay : BindingMode.TwoWay;
BindingOperations.SetBinding(textBox, TextBox.TextProperty, _binding);
return textBox;
}
#endregion
}
Привязка Xaml:
<xctk:PropertyGrid Name="pk" Foreground="{Binding SelectedTheme.FontShade}" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" FontWeight="ExtraBold" Background="{Binding SelectedTheme.DarkShade}" SelectedObject="{Binding SelectedElement,UpdateSourceTrigger=PropertyChanged, Mode=TwoWay}"/>
реализация ResolveEditor не завершена, мне нужна помощь в исправлении этого.
Name
, которое используется для конструктораBinding
? - person Oliver   schedule 23.06.2015