У меня возникли проблемы с отображением пользовательского элемента управления. Когда страница загружается, ее не видно, но как только я изменяю размер окна, она появляется.
Вот код, который я использую:
<UserControl x:Class="KinectBewegingsanalyse.View.UserAnalysisChartView"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:c="http://schemas.amcharts.com/stock/wpf/2009/xaml"
mc:Ignorable="d"
d:DesignWidth="800" d:DesignHeight="600">
<UserControl.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="Resources/Styles.xaml" />
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</UserControl.Resources>
<Grid>
<c:StockChart Name="test" Visibility="Visible" PeriodSelectorVisibility="Hidden" IsEquallySpaced="False" Margin="12">
<c:StockChart.Charts>
<c:Chart PlotAreaBorderBrush="{StaticResource TassBlue}" PlotAreaBorderThickness="1">
<c:Chart.DateTimeAxis>
<c:DateTimeAxis ValuesEnabled="True" Stroke="Transparent" StrokeThickness="0" />
</c:Chart.DateTimeAxis>
<c:Chart.LeftValueAxis>
<c:ValueAxis ValuesFormatString="0°" Stroke="Transparent" StrokeThickness="0" />
</c:Chart.LeftValueAxis>
<c:Chart.Graphs>
<c:Graph GraphType="Line" BulletType="RoundOutline" BulletSize="8" LegendItemType="Value" LegendValueLabelText="Gemeten waarde: " LegendValueFormatString="0°" LegendPeriodItemType="Value" />
</c:Chart.Graphs>
<c:Chart.Legend>
<c:Legend PositiveValueForeground="Black" NegativeValueForeground="Black" IsDateVisible="True" HideDateOnPeriod="False" />
</c:Chart.Legend>
</c:Chart>
</c:StockChart.Charts>
<c:StockChart.DataSets>
<c:DataSet Brush="{StaticResource TassMagenta}" ItemsSource="{Binding PerformedAnalysis}" DateMemberPath="Date" ValueMemberPath="Angle" />
</c:StockChart.DataSets>
</c:StockChart>
</Grid>
The customc control I'm using is a StockChart from amCharts (amCharts website).
Заранее спасибо!
Йерун Корсиус
Обновление 1: Таким образом, сетка, содержащая настраиваемый элемент управления, имеет ширину и высоту «NaN». Настройки ширины и высоты сетки ничего не меняют.
Обновление 2. я попытался запустить обновление диаграммы, выполнив одно из следующих действий:
- base.InvalidateVisual();
- base.UpdateLayout();
- сетка.ОбновлениеМакета();
- сетка.InvalidateVisual();
- Диаграмма.Фокус();
- График.ОбновлениеМакета();
- Диаграмма.InvalidateVisual();
- Диаграмма.Обновить();
Все без результата.
Обновление 3: при выполнении Chart.Refresh();
в событии нажатия кнопки отображается диаграмма.
<ContentControl Margin="0, 100, 0, 0" Content="{Binding ViewModel}" />
- person Jeroen Corsius   schedule 04.04.2012<DataTemplate DataType="{x:Type vm:UserAnalysisChartViewModel}"> <v:UserAnalysisChartView /> </DataTemplate>
- person Jeroen Corsius   schedule 05.04.2012