我尝试让我的应用程序对窗口小部件的属性更改做出反应,但是信号PropertyNotifyEvent永远不会调用。 出于测试目的,我制作一个包含标签和按钮的非常简单的应用程序。按下按钮更改标签的文本属性,但PropertyNotifyEvent没有响应。
using System;
using Gtk;
public partial class MainWindow : Gtk.Window
{
public MainWindow() : base(Gtk.WindowType.Toplevel)
{
Build();
label1.AddEvents((int)(Gdk.EventMask.PropertyChangeMask));
}
protected void OnDeleteEvent(object sender, DeleteEventArgs a)
{
Application.Quit();
a.RetVal = true;
}
protected void OnButton1Clicked(object sender, EventArgs e)
{
label1.Text = "new text";
}
protected void OnLabel1PropertyNotifyEvent(object o, PropertyNotifyEventArgs args)
{
Console.WriteLine("label property change");
}
}
我不知道我做错了什么,我错过了什么吗?
答案 0 :(得分:1)
找到解决方案:
label1.AddNotification("label", (o, args) => {Console.WriteLine("label property change");});