Windows应用商店应用程序:防止在两个几乎相同的用户控件中出现重复代码

本文关键字:用户 控件 代码 两个 应用程序 应用 Windows | 更新日期: 2023-09-27 18:19:31

所以我的Windws Store应用程序中有两个用户控件,它们看起来和工作方式几乎相同:

对照1http://image-upload.de/image/FbKYsa/319b71644f.png对照2http://image-upload.de/image/Hd9eMW/b78fca7c85.png

控件上的事件和事件处理是相同的,唯一的区别是第二个控件有一个额外的ComboBox,正如您所看到的。每当我更改某些功能时,如何防止代码重复和工作量加倍?

我试图将相同的控件打包到资源字典中,但不知道如何访问字典代码后面的控件元素。据我所知,我也无法派生第二个控件,因为第一个控件使用XAML。

我的最后一个想法是只使用一个类,并在需要时为构造函数提供一个标志来添加ComboBox。但这似乎不是正确的方式。有什么建议吗?

Windows应用商店应用程序:防止在两个几乎相同的用户控件中出现重复代码

我刚刚在一个应用程序上做了类似的事情。我的功能需要两个文本框用于密码输入,并且两个控件中都有OK、Cancel按钮,但是其中一个控件还需要显示编码类型的单选按钮(这些按钮在StackPanel中)。我在构造函数中添加了一个参数,如下所示:

    public PasswordInputBox(bool isForImage)
    {
        this.InitializeComponent();
        if (isForImage)
            //initialize actions for that part of the EmbedTypePanel;
        else
            EmbedTypePanel.Visibility = Visibility.Collapsed;
    }

然后,如果你需要带有额外组合框的控件,你可以初始化它,否则你只需要折叠它,这样用户就不会知道了。