У меня есть 3D-рендеринг, который может содержать объект под мышью. Я хочу всплывающую подсказку с информацией о сущности, и могу добиться этого с помощью приведенного ниже кода. Обратите внимание, что подсказка всегда видна, когда мышь находится над объектом, и скрыта, если нет.
// Would like to do this in XAML - it must be possible but not sure how
string toolTipString = null;
public void SetToolTipString()
{
var e = _worldViewModel.MouseOverEntity;
string newTip = e == null ? null : e.Entity.Name;
if (newTip != toolTipString)
{
toolTipString = newTip;
if (newTip == null)
{
if (ToolTip != null)
{
((ToolTip)ToolTip).IsOpen = false;
}
ToolTip = null;
}
else
{
ToolTip = new ToolTip { Content = toolTipString, IsOpen = true, StaysOpen = true };
}
}
}
Я попробовал это, но это не сработало:
<ToolTip
StaysOpen="True"
IsOpen="{Binding Path=PlacementTarget.DataContext.IsMouseOverEntity,
RelativeSource={RelativeSource Self}}"
Content="{Binding Path=PlacementTarget.DataContext.MouseOverEntity.Entity.Name,
RelativeSource={RelativeSource Self}}"/>
Есть ли способ добиться этого в XAML?