Как прочитать некоторые свойства ItemSource при разметке дочерних элементов? - PullRequest
0 голосов
/ 06 апреля 2010

Предположим, что у меня есть 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);
        }

Ребенок, однако, не дает мне доступ к предмету, который я хочу. Это хорошее решение для этого? Я поступаю об этом неправильно? Причина, по которой я так поступаю, заключается в том, что их кнопки можно динамически добавлять, удалять, некоторые кнопки нужно будет перемещать и т. Д.

1 Ответ

0 голосов
/ 07 апреля 2010

Нашел способ сделать это.

var Presenter = (ContentPresenter) child; var dataContext = Presenter.DataContext as MyClass;

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...