我有一个WPF控件,它通过一个只读属性公开它的一个孩子(来自它的ControlTemplate).目前它只是一个CLR属性,但我认为这没有任何区别.
我希望能够从我正在实例化主控件的XAML中设置子控件的一个属性.(实际上,我想绑定它,但我认为设置它将是一个很好的第一步.)
这是一些代码:
public class ChartControl : Control
{
public IAxis XAxis { get; private set; }
public override void OnApplyTemplate()
{
base.OnApplyTemplate();
this.XAxis = GetTemplateChild("PART_XAxis") as IAxis;
}
}
public interface IAxis
{
// This is the property I want to set
double Maximum { get; set; }
}
public class Axis : FrameworkElement, IAxis
{
public static readonly DependencyProperty MaximumProperty = DependencyProperty.Register("Maximum", typeof(double), typeof(Axis), new FrameworkPropertyMetadata(20.0, FrameworkPropertyMetadataOptions.AffectsRender, OnAxisPropertyChanged));
public double Maximum
{
get { return (double)GetValue(MaximumProperty); }
set …Run Code Online (Sandbox Code Playgroud)