当前位置: 首页 > 知识库问答 >
问题:

从usercontrol中的父级获取控件(按钮)

符畅
2023-03-14

我有一个窗口,每个类型有不同的项目和不同的视图。我想从内容控件后面的代码访问窗口(父)中的按钮。

OutputConfigView:

                    <ContentControl Margin="5">
                    <ContentControl.Style>
                        <Style TargetType="ContentControl">
                            <Style.Triggers>
                                <DataTrigger Binding="{Binding SelectedOutputRendererTyp}" Value="{x:Type outTypes:XmlBarcodeRenderer}">
                                    <Setter Property="ContentTemplate" Value="{StaticResource OutputRendererView}"/>
                                </DataTrigger>
                                <DataTrigger Binding="{Binding SelectedOutputRendererTyp}" Value="{x:Type outTypes:CsvBarcodeRenderer}">
                                    <Setter Property="ContentTemplate" Value="{StaticResource CsvOutputRendererView}"/>
                                </DataTrigger>
                            </Style.Triggers>
                        </Style>
                    </ContentControl.Style>
                </ContentControl>                          
                      .
                      .

        <Button x:Name="CloseButton"
                Grid.Column="1"
                Click="WindowClose"
                Content="Ok"
                Margin="0 0 0 -5"
                HorizontalAlignment="Center" 
                VerticalAlignment="Bottom">
        </Button>

OutputRenderReview.xaml.cs:

 public partial class OutputRendererView : UserControl
{
    public OutputRendererView()
    {
        InitializeComponent();
    }

    private void Border_IsEnabledChanged(object sender, DependencyPropertyChangedEventArgs e)
    {
         var parentWindow = (OutputRendererView)this.Parent;
         var button = (Button)parentWindow.FindName("CloseButton");
    }

在本例中,parentWindow为空。

如何从控件后面的代码访问调用窗口的按钮?

共有1个答案

姜胤
2023-03-14

若要访问用户控件内部的按钮,必须首先找到UserControl,然后找到其内部的按钮

var button = (Button)((UserControl)parentWindow.FindName("userControlName")).FindName("CloseButton");
 类似资料:
  • 我有一个UserControl,其中有两个文本框。用户可以根据需要添加这些UserControls的多个副本。每个UserControl都添加到面板的底部。如何从这些用户控件中获取信息。 这是添加我当前使用的UserControl的代码: 以从文本框中获取数据,但MailingReference.Controls不存在。 我不确定如何遍历每个MailingReference UserControl

  • 我有一个父级pom a和子级pom B、C和D。在B、C和D中,我有相同类型的依赖关系。 ie母Pom

  • 我试图在父组件中显示子组件的状态,但不知何故,文本“abcde”仍然没有显示,这是示例代码 但不知怎么的,屏幕仍然是空的,“abcde”直到我点击两次,来自功能组件,所以我不知道发生了什么,请帮助,非常感谢

  • index.js Button.js 我的问题是“如何从Button.js到index.js获取标志值”?(儿童对父母)。

  • 我有一个基于https://www.apollographql.com/docs/graphql-tools/schema-stitching/ 假设我有以下模式(注意,它是为一个示例而构建的,以这种方式构造它是没有意义的) 和下面的解析器 我怎样才能获得userId,它在类型User上,而不是Car上? 当我在寻找答案的时候,我想到了一些解决方案,但我不知道如何让它们发挥作用。。 使类型部分的,

  • 问题内容: 我需要一种方法来遍历AngularJS表单的注册控件。本质上,我试图获取所有的$ dirty控件,但是没有控件数组(FormController除了包含控件本身以外,还具有许多不同的属性/函数-每个控件都是自己的对象)。 我一直在查看源代码,并且看到FormController中有一个数组正是我要查找的数组。有没有一种方法可以访问此值,或者扩展FormController使其包含返回此