C# 从Thumb获取自定义控件

C# 从Thumb获取自定义控件,c#,wpf,templates,slider,C#,Wpf,Templates,Slider,我的问题是,如何访问拇指内部的元素?我制作了一个小设计器,并创建了一个派生自Thumb类的类 当我在画布中添加元素时,我是这样做的: ConnectableThumb dropThumb = new ConnectableThumb(); //class derived from Thumb dropThumb.DragDelta += new System.Windows.Controls.Primitives.DragDeltaEventHandler(onDragDelta); Contr

我的问题是,如何访问拇指内部的元素?我制作了一个小设计器,并创建了一个派生自Thumb类的类

当我在画布中添加元素时,我是这样做的:

ConnectableThumb dropThumb = new ConnectableThumb(); //class derived from Thumb
dropThumb.DragDelta += new System.Windows.Controls.Primitives.DragDeltaEventHandler(onDragDelta);
ControlTemplate template = new ControlTemplate();
var fec = new FrameworkElementFactory(typeof(Motor));//my Custom Control
template.VisualTree = fec;
dropThumb.Template = template;
CanvasFenster1.Children.Add(dropThumb);
或者在XAML中

<local:ConnectableThumb>
        <local:ConnectableThumb.Template>
             <ControlTemplate>
                 <local:ValveSymb x:Name="valve" PreviewMouseLeftButtonDown="valve_PreviewMouseLeftButtonDown" PreviewMouseMove="valve_PreviewMouseMove"></local:ValveSymb>
                  </ControlTemplate>
             </local:ConnectableThumb.Template>
</local:ConnectableThumb>

我的每个CustomControls都有一个用户必须设置的地址。我试图做的是,搜索画布的子元素,找到具有特定地址的元素。现在我的问题是,我只得到可连接的Thumb作为元素,我需要访问这个Thumb中的元素

我的代码

IEnumerable<ConnectableThumb> canvasElements = CanvasFenster1.Children.OfType<ConnectableThumb>();
foreach (ConnectableThumb element in canvasElements)
            {
                //need to get the Element inside of this ConnectableThumb
            }
IEnumerable canvasElements=CanvasFenster1.Children.OfType();
foreach(canvasElements中的ConnectableThumb元素)
{
//需要获取此ConnectableThumb中的元素
}

我需要这个Thumb中的元素:D

您可以使用
ControlTemplate.FindName()
方法。Eg
MyThumb.Template.FindName(“”
。这不像我试图找到一个特定的,我正在做的事情:我迭代画布的元素并试图找到一个具有特定地址的。在google中搜索
find children wpf
您可以使用
ControlTemplate.FindName()
方法。Eg
MyThumb.Template.FindName(“”)
。这不像我试图找到一个特定的,我正在做的事情:我迭代画布的元素,并试图找到一个具有特定地址的。在谷歌搜索
find children wpf