OxyPlot: Customize Tooltip
Я использую OxyPlot в своем проекте для отображения графиков. И мне надо изменить дефолтное поведение всплывающего тултипа при нажатии на любую точку на графике.
Сейчас я сделал простую форму для тестов. И в ее коде изменил дефолтный темплейт тултипа, чтобы отображать в нем текст и кнопку.
Мои кастомные классы для формы и тултипа:
public class PlotViewTest : PlotView
{ }
public class TestTracker : TrackerControl
{
public TestTracker()
{
CanCenterHorizontally = false;
CanCenterVertically = false;
}
}
Мой код для WPF формы:
<controlers:PlotViewTest Model="{Binding MyModel}">
<controlers:PlotViewTest.DefaultTrackerTemplate>
<ControlTemplate>
<controlers:TestTracker Position="{Binding Position}">
<Grid Margin="15">
<Grid.RowDefinitions>
<RowDefinition/>
<RowDefinition/>
</Grid.RowDefinitions>
<TextBlock Margin="5" Text="Hello world!"/>
<Button Grid.Row="1" Margin="5" Content="Start"/>
</Grid>
</controlers:TestTracker>
</ControlTemplate>
</controlers:PlotViewTest.DefaultTrackerTemplate>
</controlers:PlotViewTest>
Форма, что получилась в итоге:
Но пока что остаеться поведение, которое я хочу изменить.
- Тултип отображаеться только, если нажать и держать левую кнопку миши. Если кнопку отпустить, то тултип тоже пропадет. Но мне нужно, чтобы после нажатия левой кнопкой миши тултип отображался постоянно. Если я нажму на другую точку, то для нее отобразиться свой тултип с текстом и кнопкой. Если же я нажму на пустом месте графика, то тултип должен пропасть.
- Сейчас тултип отображаеться, если задержать кнопку нажатой не только над красной точкой, но и над синей линией. Но мне нужно, чтобы тултип отображался только при нажатии на красную точкую
Как я могу изменить стандартную логику тултипа, чтобы получить нужную ??
