У меня есть две специальные подсказки, которые я использую для отображения данных о серии, на которую наведен курсор. Единственная проблема заключается в том, что график, несмотря ни на что, использует только одну всплывающую подсказку.
Я установил для каждой серии использование собственной всплывающей подсказки или нуля при их создании, но на практике график будет отображать только те глобальные настройки, которые установлены.
Во время отладки я вижу, что каждая серия по-прежнему имеет свою собственную набор подсказок, поэтому сами серии не меняются.
Любая помощь будет будьте оценены!
Использование Livecharts 0.9.7.1 для winforms.
Код:
Вот как я создаю линию сериал
LineSeries line = new LineSeries
{
Title = "Minimum Stock Level",
Values = chartValues, // The chart values to plot
Stroke = new SolidColorBrush(Colors.DarkOrange),
StrokeThickness = 2,
Fill = Brushes.Transparent,
LineSmoothness = 0,
PointGeometrySize = 0,
StrokeDashArray = new DoubleCollection { 2 },
Tag = stockDataPoints,
ToolTip = new CustomTooltip() { SelectionMode = TooltipSelectionMode.OnlySender }
};
Это пример того, как я обновляю ряды на своих графиках:
private async void UpdateGlassStockGraph()
{
// Clear existing series
chartGlassStock.Series.Clear();
// Get new series data
SeriesCollection projectSeries = await chartGen.GetProjectSeriesAsync(null, new StockItem(Code, ""), false);
foreach (var series in projectSeries)
{
chartGlassStock.Series.Add(series);
}
// Ensure the chart update runs on the UI thread
if (chartGlassStock.IsHandleCreated)
{
chartGlassStock.BeginInvoke((Action)(() =>
{
chartGlassStock.Update(); // Update the chart
}));
}
}
Когда я загружаю форму, которую я устанавливаю:
chartStock.DataTooltip = null;
Но это переопределяет любые подсказки DataTooltips из серии.
По сути, это взято прямо со страницы руководства:
public partial class CustomTooltip : IChartTooltip
{
private TooltipData _data;
public CustomTooltip()
{
InitializeComponent();
//LiveCharts will inject the tooltip data in the Data property
//your job is only to display this data as required
DataContext = this;
}
public event PropertyChangedEventHandler PropertyChanged;
public TooltipData Data
{
get { return _data; }
set
{
_data = value;
OnPropertyChanged("Data");
}
}
public TooltipSelectionMode? SelectionMode { get; set; }
protected virtual void OnPropertyChanged(string propertyName = null)
{
if (PropertyChanged != null)
PropertyChanged.Invoke(this, new PropertyChangedEventArgs(propertyName));
}
}
Подробнее здесь: https://stackoverflow.com/questions/792 ... s-on-the-s
Могут ли серии LiveCharts иметь разные подсказки на одной диаграмме? ⇐ C#
Место общения программистов C#
1733345658
Anonymous
У меня есть две специальные подсказки, которые я использую для отображения данных о серии, на которую наведен курсор. Единственная проблема заключается в том, что график, несмотря ни на что, использует только одну всплывающую подсказку.
Я установил для каждой серии использование собственной всплывающей подсказки или нуля при их создании, но на практике график будет отображать только те глобальные настройки, которые установлены.
Во время отладки я вижу, что каждая серия по-прежнему имеет свою собственную набор подсказок, поэтому сами серии не меняются.
Любая помощь будет будьте оценены!
Использование Livecharts 0.9.7.1 для winforms.
Код:
Вот как я создаю линию сериал
LineSeries line = new LineSeries
{
Title = "Minimum Stock Level",
Values = chartValues, // The chart values to plot
Stroke = new SolidColorBrush(Colors.DarkOrange),
StrokeThickness = 2,
Fill = Brushes.Transparent,
LineSmoothness = 0,
PointGeometrySize = 0,
StrokeDashArray = new DoubleCollection { 2 },
Tag = stockDataPoints,
ToolTip = new CustomTooltip() { SelectionMode = TooltipSelectionMode.OnlySender }
};
Это пример того, как я обновляю ряды на своих графиках:
private async void UpdateGlassStockGraph()
{
// Clear existing series
chartGlassStock.Series.Clear();
// Get new series data
SeriesCollection projectSeries = await chartGen.GetProjectSeriesAsync(null, new StockItem(Code, ""), false);
foreach (var series in projectSeries)
{
chartGlassStock.Series.Add(series);
}
// Ensure the chart update runs on the UI thread
if (chartGlassStock.IsHandleCreated)
{
chartGlassStock.BeginInvoke((Action)(() =>
{
chartGlassStock.Update(); // Update the chart
}));
}
}
Когда я загружаю форму, которую я устанавливаю:
chartStock.DataTooltip = null;
Но это переопределяет любые подсказки DataTooltips из серии.
По сути, это взято прямо со страницы руководства:
public partial class CustomTooltip : IChartTooltip
{
private TooltipData _data;
public CustomTooltip()
{
InitializeComponent();
//LiveCharts will inject the tooltip data in the Data property
//your job is only to display this data as required
DataContext = this;
}
public event PropertyChangedEventHandler PropertyChanged;
public TooltipData Data
{
get { return _data; }
set
{
_data = value;
OnPropertyChanged("Data");
}
}
public TooltipSelectionMode? SelectionMode { get; set; }
protected virtual void OnPropertyChanged(string propertyName = null)
{
if (PropertyChanged != null)
PropertyChanged.Invoke(this, new PropertyChangedEventArgs(propertyName));
}
}
Подробнее здесь: [url]https://stackoverflow.com/questions/79252700/is-it-possible-for-livecharts-series-to-have-different-custom-tool-tips-on-the-s[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия