Как использовать две панели ItemsHost в одном ControlTemplate - PullRequest
0 голосов
/ 17 октября 2019

Мой внешний элемент управления библиотеками (RadTabControl от telerik) использует IsItemsHost = true в ControlTemplate, чтобы пометить панель для заполнения элементами.

Мне нужно использовать две разные панели (одну для «прокручиваемых» элементов и одну для«закрепленные» элементы) в пределах одного и того же шаблона элемента управления и распределяют элементы между ними в соответствии с флагом IsPinned, однако использование хоста из двух элементов вызывает некоторое странное поведение.

Мои тестовые строки отображаются как «{Diconnected Item}» в первомиз хоста предметов

Вот пример, показывающий, чего я пытаюсь достичь

<Grid>
    <telerik:RadTabControl ItemsSource="{Binding TestList}">
        <telerik:RadTabControl.Style>
            <Style TargetType="telerik:RadTabControl">
                <Setter Property="Template">
                    <Setter.Value>
                        <ControlTemplate TargetType="{x:Type telerik:RadTabControl}">
                            <Grid>
                                <Grid.ColumnDefinitions>
                                    <ColumnDefinition Width="*"/>
                                    <ColumnDefinition Width="*"/>
                                </Grid.ColumnDefinitions>

                                <StackPanel Grid.Column="0" Orientation="Horizontal" Height="200" MaxWidth="500"  Name="PinnedItems" IsItemsHost="True" />


                                <ScrollViewer Grid.Column="1" VerticalScrollBarVisibility="Visible" SnapsToDevicePixels="True" x:Name="ScrollViewElement">
                                    <StackPanel Name="ScrollableItems"  Height="200" MaxWidth="500" IsItemsHost="True" Orientation="Horizontal"/>
                                </ScrollViewer>
                            </Grid>
                        </ControlTemplate>
                    </Setter.Value>
                </Setter>
            </Style>
        </telerik:RadTabControl.Style>
    </telerik:RadTabControl>
</Grid>

Я был бы признателен как за быстрый, так и за грязный обходной путь, чтобы получить эту работу и правильный "по книге"решение

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