0

我正在尝试制作我的第一个 WP 应用程序,但我遇到了一些设计问题,因为我来自 Java,而且我不习惯 XAML 和类似的东西。

假设我有这样的结构:

PluginBase - 一个必须扩展的类来构建一个插件。

扩展基类的各种插件。每个插件都必须从不同的站点检索一些信息(例如 Instagram 插件、500px 插件等)。

PluginGraphics - 一个具有PluginBase属性并且必须使用它来显示检索到的数据的类。这意味着该类将具有类似于draw()将在屏幕上(在 GUI 上)打印来自插件的信息的方法。

这是一些简短的伪代码

abstract class PluginBase{
    string pluginName;
    string apiURL;
    abstract Image getImage();
}
class InstagramPlugin extends PluginBase{
    public InstagramPlugin(){
        pluginName = "Instagram";
        apiURL = "http://...";
    }
    Image getImage(){
        return new Image(apiURL + "/img.png");
    }
}
class PluginGraphics(){
    PluginBase plugin;
    public PluginGraphics(PluginBase plugin){
        this.plugin = plugin;
    }
    void draw(){
        super.draw(plugin.getImage());
    }
}

        

当我需要构建一个必须使用自定义代码的自定义 GUI 组件时,这就是我在 Java 中的做法。这很简单,我定义了代码,然后我创建了一个“GUI”类,它从组件中获取数据并显示它。

使用这种方法可以让我只关注图形部分,因为在PluginGraphics创建类时,它会自行完成所有工作,而无需在每次图像更改时手动更新组件。(前提是getImage()从站点中随机抽取一个。

因此,我可以使用 GUI 构建器,并将我的组件视为可以正常工作的“黑盒”,而不必知道它是如何工作的。

问题是:我怎样才能用 C#/XAML 做类似的事情?

这种规划在 C#/XAML 上是否真的有意义,还是我必须以不同的方式思考我的应用程序?

4

1 回答 1

0

Java 和基于 WPF(XAML) 的应用程序非常不同。可以使用 MVVM 模式而不是 C# 代码在 XAML 本身中完成大部分实际开发。我认为您应该在深入研究之前花一些时间了解 WPF 的工作原理。

于 2013-05-18T22:38:14.123 回答