NOVINKA - Online rekvalifikační kurz Python programátor. Oblíbená a studenty ověřená rekvalifikace - nyní i online.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
Mezi 13:00 až cca 15:00 proběhne odstávka sítě z důvodu aktualizace. Web bude po celou dobu nedostupný.

Diskuze: C# WPF DataGrid - pohyb tooltipu s myší pouze nad řádky

V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.

Jak se ti líbí článek?
Před uložením hodnocení, popiš prosím autorovi, co je špatněZnaků 0 z 50-500
Jak se ti kurz líbí?
Tvé hodnocení kurzuZnaků 0 z 50-500
Aktivity
Avatar
Lukáš Fusek
Tvůrce
Avatar
Lukáš Fusek:4.3.2017 11:13

Zdravím.
Můj cíl je udělat pohybující se tooltip zároveň s myší, který se zobrazí pouze, když je myš nad jednotlivými řádky (záznamy).

Díky tohohle to funguje tak, jak jsem si přál (pokud znáte elegantnější řešení, sem s ním :-D)

System.Windows.Controls.ToolTip tt = new System.Windows.Controls.ToolTip()
{
    Content = "Double click to edit",
    Placement = System.Windows.Controls.Primitives.PlacementMode.Relative
};
private void DataGridCell_MouseMove(object sender, System.Windows.Input.MouseEventArgs e)
{
    tt.HorizontalOffset = e.MouseDevice.GetPosition(this).X + 5;
    tt.VerticalOffset = e.MouseDevice.GetPosition(this).Y - 20;
}

Problémem je, že proměnnou tt umím nastavit v codebehind pouze celému dataGridu, takže se tooltip zobrazí, i když myší ukážu třeba jen na prázdný dataGrid bez záznamů.
Potřeboval bych něco takového zvládnout v codebehind:

<Style TargetType="DataGridCell">
        <Setter Property="ToolTip" Value="{Binding Path=tt}"/>
</Style>

Nemůžu použít binding (takovým způsobem, jak je uvedeno výše), protože DataContext dataGridu je už jiná třída.
Nějaké nápady? :-)

Editováno 4.3.2017 11:15
 
Odpovědět
4.3.2017 11:13
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 1 zpráv z 1.