这是我的XAML。该用户控件被命名为“事件”无法访问控制模板的内容
<UserControl.Resources>
<Style x:Key="eventStyle" TargetType="Thumb">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type Thumb}">
<Rectangle Name="rect" Fill="CadetBlue" />
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</UserControl.Resources>
<Canvas>
<Thumb Canvas.Left="0" Canvas.Top="0" Name="MoveThumb" Style="{StaticResource eventStyle}" Cursor="SizeAll" DragDelta="MoveThumb_DragDelta" DragStarted="MoveThumb_DragStarted" DragCompleted="MoveThumb_DragCompleted" />
</Canvas>
这里是背后
var ev = new Event();
var rect = ev.Template.FindName("rect", ev) as Rectangle;
的代码,但它不工作了:“RECT”变量为空。我究竟做错了什么 ?
由于
伊万嗨 有没有异常消息。 “rect”仍然为空,无一例外。 – Harkonnen
你什么时候这样做?你确定模板已经被应用了吗? – GazTheDestroyer
我从一个名为Scheduler的类创建此事件。当我点击一个按钮时,我创建了这个事件,将它添加到调度器的事件列表中并绘制它。我用于创建事件的代码是上面的两行。 该模板已应用,因为我的矩形具有AliceBlue的颜色。我想要的是根据事件的性质改变颜色。这就是为什么我想访问矩形。 – Harkonnen