gpt4 book ai didi

c# - 在 Gtk 中,如何在具有多个 CellRenderer 的 TreeViewColumn 中创建 CellRendererToggle,仅当单击复选框本身时才会切换?

转载 作者:行者123 更新时间:2023-11-30 22:47:04 25 4
gpt4 key购买 nike

我有一个 TreeModel 代表一棵 Tag 树。每个 Tag 都有这些属性,除其他外:

string Name
bool Active
Tag Parent
TagList Children //basically just a List<Tag>

TreeView 有一个单独的列,有两个 CellRenderer:CellRendererToggle 用于ActiveCellRendererText 用于Name。我想它们在同一列中,因为多列会变得困惑在 TreeView 中获取更远的后代。

我的问题是,当我点击列中的任意位置时,CellRendererToggle 已切换。这是有问题的,因为我想做一些事情,比如拖动标签,并内联重命名它们。有没有任何方式都可以让 CellRendererToggle 只有在我点击时被切换在复选框本身上,而不将其移动到单独的列?

最佳答案

您需要将CellRendererMode设置为Activatable:

renderer.Mode = CellRendererMode.Activatable;

如果渲染器不可激活,但列中的另一个渲染器可激活,则 Gtk 会将点击传递给该渲染器。将非切换渲染器设置为可激活,同样可以防止它们传递点击。

关于c# - 在 Gtk 中,如何在具有多个 CellRenderer 的 TreeViewColumn 中创建 CellRendererToggle,仅当单击复选框本身时才会切换?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2358720/

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