Предположим, что у меня есть ItemSource и я получаю данные. Теперь то, что я хочу, это. ItemSource будет содержать данные, указывающие, где должна быть каждая кнопка. Например: первая кнопка может быть слева: 200, сверху: 0, вторая может быть слева: 50 сверху: 20.
</ItemsControl.Resources>
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<Controls:MatrixCanvas />
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
<ItemsControl.ItemTemplate>
<DataTemplate>
<item:CustomButton
Height="{Binding btnSize}"
Width="{Binding btnSize}"
Style="{Binding bbColor,Converter={StaticResource ButtonStyleConverter}}"
/>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
protected override Size ArrangeOverride(Size finalSize)
{
foreach (var child in Children)
{
//The child
}
return base.ArrangeOverride(finalSize);
}
Ребенок, однако, не дает мне доступ к предмету, который я хочу. Это хорошее решение для этого? Я поступаю об этом неправильно? Причина, по которой я так поступаю, заключается в том, что их кнопки можно динамически добавлять, удалять, некоторые кнопки нужно будет перемещать и т. Д.