GridSplitter застревает после перетаскивания нескольких пикселей - PullRequest
0 голосов
/ 06 марта 2019

GridSplitter застревает после перетаскивания нескольких пикселей, и необходимо повторно выбрать сплиттер и снова перетащить.

Я использую RadTreeView в одном столбце и ListBox во втором столбце, в котором пользователь может выбрать Item из ListBox и перетащить его в RadTreeView.

Пожалуйста, найдите скриншот ниже для пользовательского интерфейса.

Я пытался найти решение на SO, но не получил никакого полезного ответа.

Пожалуйста, найдите ниже код для того же, дайте мне знать, если вам требуется больше информации для того же.

Screenshot of Window

<UserControl x:Class="StructureDesigner.StructureDesigner"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:telerik="http://schemas.telerik.com/2008/xaml/presentation"
   xmlns:dragDrop="clr-namespace:Telerik.Windows.Controls.DragDrop;assembly=Telerik.Windows.Controls"
    xmlns:vm="clr-namespace:StructureDesigner.ViewModel"             
    MinHeight="400" MinWidth="400" AllowDrop="True" telerik:DragDropManager.AllowCapturedDrag="True" Name="StructureDesignerScreen">

    <UserControl.Resources>

        <Style TargetType="telerik:RadTreeViewItem">
            <Setter Property="AllowDrop" Value="true" />
            <Setter Property="telerik:DragDropManager.AllowCapturedDrag" Value="True" />
            <Setter Property="telerik:DragDropManager.AllowDrag" Value="True" />
        </Style>

        <Style TargetType="ListBoxItem">
            <Setter Property="telerik:DragDropManager.AllowCapturedDrag" Value="True" />
        </Style>

    </UserControl.Resources>

    <Grid x:Name="MainGrid" ScrollViewer.CanContentScroll="false" ScrollViewer.HorizontalScrollBarVisibility="Hidden" ScrollViewer.VerticalScrollBarVisibility="Hidden">
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="300"/>
            <ColumnDefinition Width="*"/>
        </Grid.ColumnDefinitions>

        <GridSplitter x:Name="gridSplitter" Grid.Row="0" Grid.Column="0" HorizontalAlignment="Right" Width="10" Background="DarkGray" Height="Auto"   />

        <telerik:RadTreeView x:Name="radStructureTreeView" IsDragTooltipEnabled="True" IsDragDropEnabled="True"
                             IsDragPreviewEnabled="True" IsDropPreviewLineEnabled="True"
                             Grid.Row="0" Grid.Column="0" SelectionMode="Extended"
                             HorizontalAlignment="Stretch" Margin="2,2,11,2" IsLoadOnDemandEnabled="True"
                             LoadOnDemand="radStructureTreeView_LoadOnDemand"
                             ExpanderStyle="{StaticResource ExpanderStyle}"
                             ItemContainerStyle="{StaticResource ItemContainerStyle}"
                             IsExpandOnSingleClickEnabled="False" ItemsSource="{Binding StructureDesignerList}"
                             ItemTemplate="{StaticResource NavigationTemplate}"
                             telerik:TreeViewSettings.DragDropExecutionMode="New"
                             >

        </telerik:RadTreeView>

        <Grid Grid.Row="0" Grid.Column="1" Name="gridEntities" HorizontalAlignment="Stretch" Margin="1,2,2,2">

            <Grid.ColumnDefinitions>
                <ColumnDefinition Width="*"></ColumnDefinition>
            </Grid.ColumnDefinitions>

            <ListBox x:Name="listBox1" Grid.Row="0" Grid.Column="0" Margin="8" HorizontalAlignment="Stretch"
                     SelectionMode="Extended" Width="Auto" ItemsSource="{Binding EntityList}"
                     AllowDrop="True">
                <ListBox.ContextMenu>
                    <ContextMenu>
                        <MenuItem Header="Hide posted entities" Tag="Hide posted entities" IsCheckable="True" IsChecked="{Binding Path=IsHidePostedEntitiesChecked}"></MenuItem>
                    </ContextMenu>
                </ListBox.ContextMenu>
                <ListBox.ItemTemplate>
                    <DataTemplate>
                        <StackPanel Orientation="Vertical">
                            <Label Name="lblSpacer1" Height="5"></Label>
                            <StackPanel Orientation="Horizontal">
                                <Image Grid.Column="1" Width="25" Height="16" Source="{Binding Path=Icon}" VerticalAlignment="Top"></Image>
                                <Label Content="" Width="1" Height="16"  ></Label>
                                <TextBlock Text="{Binding Description}" FontWeight="Bold" VerticalAlignment="Center" />
                            </StackPanel>
                            <Label Name="lblSpacer2" Height="5"></Label>
                        </StackPanel>
                    </DataTemplate>
                </ListBox.ItemTemplate>
            </ListBox>

        </Grid>
    </Grid>
</UserControl>
...