Mein hinter Code nur eine Zeile wie folgt:Warum können die Elemente von controlTemplate nicht abgerufen werden?
Dim btn As Button =
CType(Me.simpleButton.Template.FindName("testbtn", simpleButton), Button)
XAML-Datei wie folgt:
<Button x:Name="simpleButton"
Grid.Row="0"
Grid.RowSpan="5"
Grid.Column="1"
Command="{Binding SimpleOnCommand}"
Focusable="False">
<Button.Template>
<ControlTemplate>
<Border x:Name="border"
Background="{TemplateBinding Background}"
BorderBrush="Black"
BorderThickness="1"
CornerRadius="50">
<Border.Triggers>
<EventTrigger
<EventTrigger RoutedEvent="MouseRightButtonDown">
<EventTrigger.Actions>
<BeginStoryboard x:Name="rotateLine">
<Storyboard Storyboard.TargetName="line11" Storyboard.TargetProperty="(RotateTransform.Angle)">
<DoubleAnimation By="360"
Duration="0:0:1.5"
RepeatBehavior="Forever" />
</Storyboard>
</BeginStoryboard>
</EventTrigger.Actions>
</EventTrigger>
<EventTrigger InputMethod.IsInputMethodEnabled="True" RoutedEvent="MouseRightButtonUp">
<RemoveStoryboard BeginStoryboardName="rotateLine" />
</EventTrigger>
</Border.Triggers>
<Viewbox x:Name="myView"
Width="65"
Height="65">
<Canvas x:Name="myCanvas"
Width="65"
Height="65">
<Canvas.CacheMode>
<BitmapCache />
</Canvas.CacheMode>
<Button x:Name="testbtn"></Button>
<Line x:Name="line1"
RenderTransformOrigin="0,0"
Stroke="Black"
StrokeEndLineCap="Round"
StrokeStartLineCap="Round"
StrokeThickness="5"
X1="{Binding X1}"
X2="{Binding X2}"
Y1="{Binding Y1}"
Y2="{Binding Y2}">
Verwenden Me.simpleButton.Template.FindName("name of elements", simpleButton)
alle Elemente nicht bekommen können (wie zum Beispiel: "Grenze" , "line1" usw.) aus der SimpleButton-Steuerelementvorlage. Wie soll ich es machen ?
Ich denke, das ist WPF? – Liam
Ich glaube, du hast den Zieltyp verpasst. setze target TargetType = "{x: Type Button}". Vielleicht wird es funktionieren. –
Ich habe versucht, was Sie gesagt haben, es funktioniert immer noch nicht –