Wpf 代码样式中的访问控制

Wpf 代码样式中的访问控制,wpf,styles,code-behind,controltemplate,Wpf,Styles,Code Behind,Controltemplate,如果我有一个定义控件模板的样式,在这里我有一个控件,比如说一个按钮,有没有办法从样式化控件的代码后面访问按钮 谢谢你们 假设您有如下定义的样式 <Style x:Key="myStyle" TargetType="{x:Type Button}"> <Setter Property="Template"> <Setter.Value> <Con

如果我有一个定义控件模板的样式,在这里我有一个控件,比如说一个按钮,有没有办法从样式化控件的代码后面访问按钮


谢谢你们

假设您有如下定义的样式

        <Style x:Key="myStyle" TargetType="{x:Type Button}">
            <Setter Property="Template">
                <Setter.Value>
                    <ControlTemplate>
                        <Button x:Name="myTemplatedButton" Content="my templated button"/>
                    </ControlTemplate>
                </Setter.Value>
            </Setter>
        </Style>
如果按钮放置在
控制模板
内的容器中,例如
堆叠面板

<StackPanel>
    <CheckBox IsChecked="True"/>
    <Button x:Name="myTemplatedButton" Content="my templated button"/>
</StackPanel>

希望这有帮助

当代码位于Themes文件夹的Generic.xaml文件中时,这不起作用。
var myTemplatedButton = myButton.Template.LoadContent() as Button;
<StackPanel>
    <CheckBox IsChecked="True"/>
    <Button x:Name="myTemplatedButton" Content="my templated button"/>
</StackPanel>
var templatedControl = myButton.Template.LoadContent() as FrameworkElement;
var templatedButton = templatedControl.FindName("myTemplatedButton") as Button;