Pouze tento týden sleva až 80 % na e-learning týkající se Pythonu. Zároveň využij akce až 80 % zdarma při nákupu kreditů. Více informací:
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í.
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.