本文整理汇总了C#中PropertyItem.CreateOneWayBinding方法的典型用法代码示例。如果您正苦于以下问题:C# PropertyItem.CreateOneWayBinding方法的具体用法?C# PropertyItem.CreateOneWayBinding怎么用?C# PropertyItem.CreateOneWayBinding使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类PropertyItem
的用法示例。
在下文中一共展示了PropertyItem.CreateOneWayBinding方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: CreateEditorControl
/// <summary>
/// Creates a control based on a template from a a <see cref="TypeEditor" />.
/// </summary>
/// <param name="property">The property.</param>
/// <param name="editor">The editor.</param>
/// <returns>
/// A <see cref="ContentControl" />.
/// </returns>
protected virtual ContentControl CreateEditorControl(PropertyItem property, TypeEditor editor)
{
var c = new ContentControl
{
ContentTemplate = editor.EditorTemplate,
VerticalAlignment = VerticalAlignment.Center,
HorizontalAlignment = HorizontalAlignment.Left
};
c.SetBinding(FrameworkElement.DataContextProperty, property.CreateOneWayBinding());
return c;
}
示例2: CreateImageControl
/// <summary>
/// Creates the image control.
/// </summary>
/// <param name="property">The property.</param>
/// <returns>
/// The control.
/// </returns>
protected virtual FrameworkElement CreateImageControl(PropertyItem property)
{
var c = new Image { Stretch = Stretch.Uniform, HorizontalAlignment = HorizontalAlignment.Left };
c.SetBinding(Image.SourceProperty, property.CreateOneWayBinding());
return c;
}
示例3: CreateControl
/// <summary>
/// Creates the control for a property.
/// </summary>
/// <param name="property">
/// The property item.
/// </param>
/// <param name="options">
/// The options.
/// </param>
/// <returns>
/// A element.
/// </returns>
public virtual FrameworkElement CreateControl(PropertyItem property, PropertyControlFactoryOptions options)
{
this.UpdateConverter(property);
foreach (var editor in this.Editors)
{
if (editor.IsAssignable(property.Descriptor.PropertyType))
{
var c = new ContentControl
{
ContentTemplate = editor.EditorTemplate,
VerticalAlignment = VerticalAlignment.Center,
HorizontalAlignment = HorizontalAlignment.Left
};
c.SetBinding(FrameworkElement.DataContextProperty, property.CreateOneWayBinding());
return c;
}
}
if (property.Is(typeof(bool)))
{
return this.CreateBoolControl(property);
}
if (property.Is(typeof(Enum)))
{
return this.CreateEnumControl(property, options);
}
if (property.Is(typeof(Color)))
{
return this.CreateColorControl(property);
}
if (property.Is(typeof(Brush)))
{
return this.CreateBrushControl(property);
}
if (property.Is(typeof(FontFamily)))
{
return this.CreateFontFamilyControl(property);
}
if (property.Is(typeof(ImageSource)) || property.DataTypes.Contains(DataType.ImageUrl))
{
return this.CreateImageControl(property);
}
if (property.DataTypes.Contains(DataType.Html))
{
return this.CreateHtmlControl(property);
}
if (property.Is(typeof(Uri)))
{
return this.CreateLinkControl(property);
}
if (property.ItemsSourceDescriptor != null)
{
return this.CreateComboBoxControl(property);
}
if (property.Is(typeof(SecureString)))
{
return this.CreateSecurePasswordControl(property);
}
if (this.UseDatePicker && property.Is(typeof(DateTime)))
{
return this.CreateDateTimeControl(property);
}
if (property.IsFilePath)
{
return this.CreateFilePathControl(property);
}
if (property.IsDirectoryPath)
{
return this.CreateDirectoryPathControl(property);
}
if (property.PreviewFonts)
{
return this.CreateFontPreview(property);
}
//.........这里部分代码省略.........