我可以将控制模板传递给外部DLL吗?

时间:2013-09-20 02:57:50

标签: c# controltemplate powerbuilder

我在PB.net中创建了控制模板,现在我想在Video Studio中创建外部函数,使用C#将该模板应用于我在代码后面创建的组框控件中。任何人都知道如何传递该模板

这是我在Powerbuilder.net中的XAML控件模板

 <ControlTemplate x:Key="GBTemplate" TargetType="GroupBox">

这里是我的C#代码:

    public void ResourceTemplate(ControlTemplate GBTemplate)
    {
        GroupBox gb1 = new GroupBox();
        gb1.Template=Resources["GBTemplate"] as ControlTemplate;
plat.Children.Add(gb1);
    }

我遇到了一个问题,即当前上下文中不存在名称“资源”。

1 个答案:

答案 0 :(得分:0)

我之前从未这样做过,但是看看你的代码,看起来你正在将控件模板添加到你在函数中创建的组合框中。我假设你想把它分配给一个已经实例化的组合框并且存在于某个窗口的窗口上。

所以基本上如果窗口上的组框名为gb_1,请删除groupbox的定义和新功能并执行gb_1.Template = ...

这只是猜测代码看起来很可疑,因为您正在函数中创建组框。

OR 也许你可以覆盖OnApplyTemplate:

public override void OnApplyTemplate() {
   base.OnApplyTemplate();

    this.Template=... 
}