能够创建一个使用 builder 加载其内容的新小部件将是理想的,例如。
public class MyDialog : Dialog
{
public MyDialog
{
Gtk.Builder builder = new Gtk.Builder ();
builder.add_from_file ("dialog.ui");
this = builder.get_object ("my_dialog") as Gtk.Widget;
}
}
显然这是行不通的,因为这this =
是一个无效的分配,但我想知道是否有一种方法可以使用从构建器加载的内容来设置小部件的内容。
与此同时,我已经this = ...
用
var content = get_content_area ();
var dialog = builder.get_object ("my_dialog") as Gtk.Widget;
var _content = (dialog as Dialog).get_content_area ();
_content.reparent (content);
这确实有效,但对我来说能够直接加载仍然有意义。
谢谢。