Получение информации о дочернем элементе пользовательского интерфейса из IScrollInfo - PullRequest
0 голосов
/ 13 мая 2011

Я реализую класс IScrollInfo (ButtonPaletteScrollPanel), который идет внутри ScrollViewer, например:

<ScrollViewer Name="btnScrlVwr" CanContentScroll="True" Loaded="ScrollViewer_Loaded" Height="450">
        <vm:ButtonPaletteScrollPanel>
            <ItemsControl Name="itmCtrl" ItemsSource="{Binding ButtonList, Mode=OneWay}">
                <ItemsControl.ItemTemplate>
                    <DataTemplate>
                        <Button Name="blButton" 
                        Style="{StaticResource RectangularButtonStyle}" 
                                Width="950" Height="80" Margin="5"
                        Content="{Binding ButtonText}" FontSize="18"
                    Command="{Binding ElementName=blGeneric, Path=DataContext.SelectionCommand}" 
                    CommandParameter="{Binding TaskName}" Loaded="Button_Loaded">
                        </Button>
                    </DataTemplate>
                </ItemsControl.ItemTemplate>

            </ItemsControl>
        </vm:ButtonPaletteScrollPanel>
    </ScrollViewer>

В моем классе IScrollInfo, в моем методе MeasureOverride, я пытаюсь получить высотузначение элементов кнопки (то есть 80), которые находятся в моем ButtonPaletteScrollPanel.

Если я позвоню foreach (UIElement child in this.InternalChildren), возвращенный ребенок будет моим ItemsControl.
Могу ли я добраться до элементов моей кнопки из этого объекта ItemsControl или есть другой подход, который я должен использовать?

1 Ответ

0 голосов
/ 13 мая 2011

Вам необходимо получить доступ к вашим сгенерированным элементам DataTemplate. Это не так уж сложно сделать. Вот статья MSDN, которая описывает, как:

http://msdn.microsoft.com/en-us/library/bb613579.aspx

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