0
Я использую ItemsControl и имею несколько кнопок и размещаю их в определенном месте на холсте. Тем не менее, Canvas.Left
и Canvas.Top
всегда размещают все кнопки на 0,0
.Использование ItemsControl для привязки кнопок верхняя/левая позиция на холсте Windows Phone
<ItemsControl x:Name="itemsControl" ItemsSource="{Binding Tiles}">
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<Canvas />
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
<ItemsControl.ItemTemplate>
<DataTemplate>
<Button Width="{Binding Side}"
Height="{Binding Side}"
Background="{Binding BgColor}"
Canvas.Left="{Binding Left}" Canvas.Top="{Binding Top}" />
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
будет не лучше ли использовать 'Margin'? –
В целом это должно сработать. Проверьте, что привязки в порядке (т. Е. У вас нет ошибок привязки в окне вывода во время отладки). Другой способ - попытаться использовать 'Grid' вместо' Canvas' для 'ItemsPanelTemplate', привязывая' Grid.Column' и 'Grid.Row' к требуемым значениям. – Haspemulator
Мне нужно использовать Canvas, потому что мне нужно разместить эти кнопки или графические элементы случайным образом на странице, которая не содержит столбцов/строк – PutraKg