私はitemControlにキャンバスを持っていますが、私は省略記号を使っています。各楕円の位置は、午前6時から午後11時の時刻を表します。私はその値をキャンバスのサイズと楕円に割り当てられた時間に基づいて拘束しています。 ellispseのトップはキャンバス内を全く動かない。私はバインディングを削除しようとしているし、ハード値を使用し、それは同じ場所にまだあります。ここでCanvas.Topはレンダリングされません
は、XAMLは、ここではコンテナ
<ItemsControl Grid.Column="1" ItemsSource="{Binding AngerData}" VerticalAlignment="Stretch" Canvas.ZIndex="1">
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<Canvas VerticalAlignment="Stretch"></Canvas>
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
<ItemsControl.ItemTemplate>
<DataTemplate>
<Ellipse Height="10" Width="10" Stroke="White" StrokeThickness="1"
Canvas.Top="{Binding Top, Converter={StaticResource ResourceKey=ellipsePositionConverter}, ConverterParameter=Month}" >"
Fill="{Binding AngerRating, Converter={StaticResource angerRatingConverter}}"
Canvas.ZIndex="100">
</Ellipse>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
のためである私は、問題は削除それがどれ楕円
public class CalendarDayEllipsePositionConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
double gridPosition = 0;
if (parameter.ToString().Equals("Month", StringComparison.InvariantCultureIgnoreCase))
{
gridPosition = double.Parse(value.ToString()) * 110;
}
return gridPosition;
}
public object ConvertBack(object value, Type targetTypes, object parameter, System.Globalization.CultureInfo culture)
{
throw new NotImplementedException();
}
}
の位置を移動させないことを与えているとは思わないコンバータですヘルプが評価されます
ことの一つは、あなたが 'Canvas.Top = "Canvas.Top ="{Binding'を持っているということです。私はそれがちょうど 'Canvas.Top =" {Binding'。 – oltman
であるべきだと思います。このバグを修正しましたが、同じことをやっています。ハードコーディングされた番号に切り替えることを試みましたが、これはまだ動作しません。 – joshwl2003