gpt4 book ai didi

c# - 将界面解析为 UIElement(Unity、PRISM、C#)

转载 作者:行者123 更新时间:2023-12-02 15:50:56 25 4
gpt4 key购买 nike

使用 PRISM 时,统一连接事物的正常方法是定义一个接口(interface)并使用该接口(interface)注册一个实现。现在,我有一个关于观点的问题。场景很简单:

假设有一个自定义视频控件,允许设置播放命令。该控件由简单的接口(interface)“IPlayControlView”定义。明显的问题是,当我解决此控件并尝试将其添加到 StackPanel 时,它不起作用,因为我有一个 IPlayControl,而不是 UIElement.

我可以将其转换为 UIElement,因为我知道它是一个 UIElement。但是有没有更好的方法,比如

public interface IPlayControlView : UIElement

这不起作用,但也许其他一些东西可以解决问题......

这是一个普遍问题,如果我使用接口(interface)解析 View ,我每次都会遇到这个问题。也许这不是它的做法,但我一直认为其中之一......好吧,刚刚有了一个主意。我将仅使用一个属性 UIElement 扩展 IPlayControl 并将其设置为对其自身的引用。所以,没关系,输入时回答问题:-)

如果有更好的方法,我总是喜欢学习新东西。也许是 IUIElement?

克里斯

最佳答案

您在倒数第二段中描述的方式就是我的做法。例如,如果我想使用我的 IShell 作为 UIElement (这很正常),我声明的接口(interface)如下:

public interface IShell
{
UIElement GetView();
}

然后在我的实现中:

public partial class MyMainShell : UserControl, IShell
{
public UIElement GetView()
{
return this;
}
}

关于c# - 将界面解析为 UIElement(Unity、PRISM、C#),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1533891/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com