我有一個畫布在itemControl和我使用省略號數據模板。每個橢圓的位置表示一天中早上6點至晚上11點的時間。我根據畫布的大小和分配給橢圓的時間落在哪裏來綁定該值。 ellispse頂部並沒有在畫布中移動。我試圖刪除綁定並使用硬性值,它仍然在同一個地方。了Canvas.Top不渲染
這裏是容器
<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>
在這裏,XAML是我不認爲轉換器是因爲刪除它不動橢圓
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 2012-04-10 21:49:38
我修正了這個錯誤,它仍然在做同樣的事情我已經嘗試切換回硬編碼的號碼,這仍然不起作用 – joshwl2003 2012-04-11 22:10:43