MahApps 以编程方式添加 controlzex:ToolTipAssist.AutoMove

MahApps adding controlzex:ToolTipAssist.AutoMove programatically

我正在以编程方式向网格添加按钮,就像 MahApps Metro 程序中的以下代码一样。这工作正常,按钮可见且可点击。

var tooltip = new ToolTip()
{
    Content = "ToolTip Text"
};

var button = new Button()
{
    Name = "Button1",
    Focusable = false,
    ToolTip = tooltip,
    Content = "ClickMe"
};

button.Click += Button1_Click;

Grid.SetRow(button, 2);
Grid.SetColumn(button, 5);
MainGrid.Children.Add(button);

但是我想用ToolTipAssist.AutoMove。在设计器中你可以这样添加

<Button Name="Button1" Content="ClickMe">
    <Button.ToolTip>
        <ToolTip controlzex:ToolTipAssist.AutoMove="True" Content="ToolTip Text" />
    </Button.ToolTip>
</Button>

但我无法在代码中添加它。 using ControlzEx; 存在于代码中。我试过:

tooltip.controlzex //controlzex does not exist
tooltip.ToolTipAssist //ToolTipAssist does not exist
tooltip.AutoMove //AutoMove does not exist

所以我认为它必须是一个必须以某种方式附加的事件,但是哪一个?

AutoMove 属性 是一个 附加的 属性,公开了这些方法:

public static bool GetAutoMove(ToolTip element) { //... }
public static void SetAutoMove(ToolTip element, bool value) { //... }

您将 AutoMove 这样设置为代码中的 tooltip

ToolTipAssist.SetAutoMove(tooltip, true);