Completed
Last Updated: 03 Sep 2020 13:45 by ADMIN
Release LIB 2020.2.831 (08/31/2020)
The compass is misplaced on the second monitor when launching *.exe on monitors with higher DPI. The tool window also is not positioned correctly. 

  <application xmlns="urn:schemas-microsoft-com:asm.v3">
    <windowsSettings>
      <dpiAwareness xmlns="http://schemas.microsoft.com/SMI/2016/WindowsSettings">PerMonitor</dpiAwareness>
      <dpiAware xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">true</dpiAware>
    </windowsSettings>
  </application>
Completed
Last Updated: 24 Aug 2020 10:56 by ADMIN
Release LIB 2020.2.824
RichTextBox, GridView, TreeListView and ScheduleView handle [Ctrl + Tab] the same way as [Tab] and this way when they are inside Docking, the Navigator cannot open. These controls should not handle the Ctrl + Tab.  
Declined
Last Updated: 02 Jul 2020 15:20 by ADMIN

The RadDocking control is not registering position changes of the docking window when RadDocking is in a WPF UserControl embedded in a WinForms ElementHost:

This appears to only apply to the main window; if you (at runtime) move one of the example panes into a separate window, the compass on that window displays in the correct position when you undock the other pane:

 

I've attached a stripped down solution that reproduces the issue (originally noticed using 2018R2 when rewriting legacy VB WinForms in C# WPF user controls as part of a tech refresh; attached demo is using 2020R2 .NET 4.5 binaries).

Completed
Last Updated: 09 Apr 2020 14:58 by ADMIN
Release LIB 2020.1.406 (04/06/2020)

Application theme:

StyleManager.ApplicationTheme = new CrystalTheme();

Docking theme:

<telerik:RadDocking Grid.Row="2" telerik:StyleManager.Theme="Office2016">
	<telerik:RadDocking.DocumentHost >
		<telerik:RadSplitContainer>
			<telerik:RadPaneGroup>
				<telerik:RadPane Header="Description">
					<TextBlock TextWrapping="Wrap" Text="On the Documents tab above press Ctrl + Mouse Left button to display the Popup Menu. You can use the same combination on every tab."/>
				</telerik:RadPane>
			</telerik:RadPaneGroup>
		</telerik:RadSplitContainer>
	</telerik:RadDocking.DocumentHost>
	<telerik:RadSplitContainer InitialPosition="DockedBottom">
		<telerik:RadPaneGroup>
			<telerik:RadPane Header="NonDraggable">
				<TextBlock TextWrapping="Wrap" Text="This pane cannot be dragged, because it has its property CanFloat set 'False'."/>
			</telerik:RadPane>
		</telerik:RadPaneGroup>
	</telerik:RadSplitContainer>
</telerik:RadDocking>

Duplicated
Last Updated: 02 Apr 2020 15:54 by ADMIN

Like RanTabControl

Need this for an application with lots of tabs wich would not fit in the top or bottom template.

Maybe it works with a customizable TabStripTemplate where i can implement e.g. a GridView or something

Like this with a scrollbar (used TabControl PRISM example for this)

Unplanned
Last Updated: 25 Mar 2020 09:58 by ADMIN
Currently the CloseButtonPosition property of the RadDocking only takes effect when a RadPaneGroup is inside the DocumentHost. We can introduce a way to place the close button in the pane when a group is outside the DocumentHost (for example in a ToolWindow).
Completed
Last Updated: 09 Mar 2020 08:49 by ADMIN
Release LIB 2020.1.309 (03/09/2020)
When a RadPaneGroup is not in the DocumentHost and it has only 1 RadPane, UI elements placed in that pane cannot be selected in the designer.
Completed
Last Updated: 14 Feb 2020 08:00 by ADMIN
Release R1 2020 SP1
ToolWindow does not respect the "Show window contents while dragging" setting when it is first floated.
Unplanned
Last Updated: 13 Feb 2020 10:06 by ADMIN
Created by: Christian
Comments: 0
Category: Docking
Type: Feature Request
4
Currently, unpinned panes need to first be pinned in order to be floated. Floating of unpinned panes should be made possible.
Completed
Last Updated: 10 Feb 2020 14:26 by ADMIN
Release R1 2020 SP1
Completed
Last Updated: 17 Jan 2020 08:18 by ADMIN
Release LIB 2019.3.1223
The compass elements are not on the proper places when the docking is on the second monitor. To reproduce this the DPI of the monitors should be different for example 125% (main) and 150% (secondary). Also, to reproduce this you will need to enable the DPI awareness of the application by setting the dpiAware and dpiAwareness settings in the app.manifest file.
Declined
Last Updated: 16 Jan 2020 12:14 by ADMIN

Hello,

I've got an issue and feel like it link to RadComboBox control.

I've got an application which displays a RadDocking with multiple elements. Some of them are RadCombobBox and they get their value from a view model.

Sometimes, and quite ofen, I've got an exception : "NullReferenceException occured in PresentationCore.dl" without more information... I can't find the origin of this exception since theis was thrown by an external code.

The awkward thing is that, when I put some breakpoints, I don't have the exception. It seems like there is a temporisation problem.

Here is an exemple of my view model code for a RadComboBox component :

        private IEnumerable<EnumMemberViewModel> _videoTypes;

        public IEnumerable<EnumMemberViewModel> VideoTypes
        {
            get
            {
                if (_videoTypes == null)
                {
                    _videoTypes = EnumDataSource.FromType<EVideoType>();
                }
                return _videoTypes;
            }
        }

        private EnumMemberViewModel _currentVideoType;
       
        public EnumMemberViewModel CurrentVideoType
        {
            get
            {
                return _currentVideoType;
            }
            set
            {
                if (_currentVideoType != value)
                {
                    _currentVideoType = value;
                    OnPropertyChanged(() => CurrentVideoType);
                    AcquireVideo.InvalidateCanExecute();
                }
            }
        }

And here my xaml code for my view (if it can help):

<UserControl x:Class="AltosIHM.SessionControlPaneRadDocking"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             xmlns:system="clr-namespace:System;assembly=mscorlib"
             xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
             xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
             xmlns:telerik="http://schemas.telerik.com/2008/xaml/presentation"
             xmlns:local="clr-namespace:AltosIHM"
             xmlns:resx="clr-namespace:AltosIHM.Properties" 
             xmlns:iMatlabWCF="clr-namespace:MatlabWCFInterface;assembly=MatlabWCFInterface"
             xmlns:iMatlabTreatment="clr-namespace:MatlabTreatmentInterface;assembly=MatlabTreatmentInterface"
             xmlns:maskedInput="clr-namespace:Telerik.Windows.Controls.MaskedInput;assembly=Telerik.Windows.Controls.Input" 
             mc:Ignorable="d" 
             MinHeight="300" d:DesignWidth="900">
    <UserControl.Resources>
        <ResourceDictionary>
            <ResourceDictionary.MergedDictionaries>
                <ResourceDictionary Source="CommonStyles.xaml"/>
            </ResourceDictionary.MergedDictionaries>

            <telerik:InvertedBooleanConverter x:Key="InvertBooleanConverter"/>
            <local:StringToDoubleConverter x:Key="StringToDoubleConverter"/>

            <Style TargetType="StackPanel" x:Key="HeaderElements">
                <Setter Property="Orientation" Value="Horizontal"/>
            </Style>

            <Style x:Key="TextHeader" TargetType="TextBlock">
                <Setter Property="VerticalAlignment" Value="Center"/>
                <Setter Property="Margin" Value="3 0"/>
            </Style>

            <Style x:Key="TextHeaderDocumentPane" TargetType="TextBlock" BasedOn="{StaticResource TextHeader}">
                <Style.Triggers>
                    <DataTrigger Binding="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type telerik:RadDocumentPane}}, Path=IsPinned}" Value="False">
                        <Setter Property="Visibility" Value="Collapsed"/>
                    </DataTrigger>
                </Style.Triggers>
            </Style>

            <Style x:Key="TextHeaderPane" TargetType="TextBlock" BasedOn="{StaticResource TextHeader}">
                <Style.Triggers>
                    <DataTrigger Binding="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type telerik:RadPane}}, Path=IsPinned}" Value="False">
                        <Setter Property="Visibility" Value="Collapsed"/>
                    </DataTrigger>
                </Style.Triggers>
            </Style>

            <Style x:Key="HeaderImg" TargetType="Image">
                <Setter Property="Width" Value="30"/>
            </Style>

            <Style TargetType="telerik:RadPane">
                <Setter Property="CanUserClose" Value="False"/>
                <Setter Property="RenderTransformOrigin" Value="0.5,0.5"/>
                <Style.Triggers>
                    <Trigger Property="IsPinned" Value="False">
                        <Setter Property="RenderTransform">
                            <Setter.Value>
                                <TransformGroup>
                                    <RotateTransform Angle="90"/>
                                </TransformGroup>
                            </Setter.Value>
                        </Setter>
                        <Setter Property="Margin" Value="0 0 3 0"/>
                    </Trigger>
                </Style.Triggers>
            </Style>

            <Style TargetType="telerik:RadDocumentPane">
                <Setter Property="CanUserClose" Value="False"/>
                <Setter Property="RenderTransformOrigin" Value="0.5,0.5"/>
                <Style.Triggers>
                    <Trigger Property="IsPinned" Value="False">
                        <Setter Property="RenderTransform">
                            <Setter.Value>
                                <TransformGroup>
                                    <RotateTransform Angle="90"/>
                                </TransformGroup>
                            </Setter.Value>
                        </Setter>
                        <Setter Property="Margin" Value="0 0 3 0"/>
                    </Trigger>
                </Style.Triggers>
            </Style>


            <Style x:Key="ParametersTitle" TargetType="TextBlock" BasedOn="{StaticResource CategoryTitle}">
                <Setter Property="HorizontalAlignment" Value="Left"/>
                <Setter Property="Margin" Value="10"/>
            </Style>

            <Style x:Key="SessionParametersValue" TargetType="{x:Type Control}" BasedOn="{StaticResource ParametersValues}">
                <Setter Property="Width" Value="300"/>
                <Setter Property="HorizontalAlignment" Value="Left"/>
            </Style>

            <DataTemplate x:Key="TreatmentsTemplate" DataType="{x:Type iMatlabTreatment:ITreatment}">
                <Button Style="{StaticResource TileButton}" IsEnabled="{Binding IsManageableByIHM}"
                                                    CommandParameter="{Binding}"
                                                    Command="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType=local:SessionControlPaneRadDocking}, Path=DataContext.ActiveTreatment}">
                    <Grid>
                        <Grid.RowDefinitions>
                            <RowDefinition/>
                            <RowDefinition/>
                        </Grid.RowDefinitions>

                        <Image Source="{Binding IconPath}"/>
                        <Label Grid.Row="1" Content="{Binding MatlabTreatmentExternalName}"
                                               FontWeight="Bold" HorizontalAlignment="Center"/>
                    </Grid>
                </Button>
            </DataTemplate>
            <ItemsPanelTemplate x:Key="TreatmentItemPanel">
                <WrapPanel x:Name="PropertiesWrapPanel" Width="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type telerik:RadPaneGroup}}, Path=ActualWidth}"/>
            </ItemsPanelTemplate>

            <DataTemplate x:Key="IntCameraProperty">
                <StackPanel Margin="0 3">
                    <TextBlock Width="180" Text="{Binding Name}" Style="{StaticResource ParametersTitle}"/>
                    <telerik:RadNumericUpDown Value="{Binding IHMValue}" Style="{StaticResource SessionParametersValue}"
                                            IsEnabled="{Binding Accessible}" HideTrailingZeros="True"/>
                </StackPanel>
            </DataTemplate>
            <DataTemplate x:Key="IntBoundedCameraProperty">
                <StackPanel Margin="0 3">
                    <TextBlock Width="180" Text="{Binding Name}" Style="{StaticResource ParametersTitle}"/>
                    <DockPanel>
                        <telerik:RadNumericUpDown Value="{Binding IHMValue}" Style="{StaticResource SessionParametersValue}"
                                            IsEnabled="{Binding Accessible}" HideTrailingZeros="True"
                                                Minimum="{Binding ConstraintValueInt[0]}" Maximum="{Binding ConstraintValueInt[1]}"/>
                    </DockPanel>
                </StackPanel>
            </DataTemplate>
            <DataTemplate x:Key="DoubleCameraProperty">
                <StackPanel Margin="0 3">
                    <TextBlock Width="180" Text="{Binding Name}" Style="{StaticResource ParametersTitle}"/>
                    <telerik:RadNumericUpDown Value="{Binding IHMValue, Converter={StaticResource StringToDoubleConverter}}" NumberDecimalDigits="16"
                                                IsEnabled="{Binding Accessible}" Style="{StaticResource SessionParametersValue}" />
                </StackPanel>
            </DataTemplate>
            <DataTemplate x:Key="DoubleBoundedCameraProperty">
                <StackPanel Margin="0 3">
                    <TextBlock Width="180" Text="{Binding Name}" Style="{StaticResource ParametersTitle}"/>
                    <telerik:RadNumericUpDown Value="{Binding IHMValue, Converter={StaticResource StringToDoubleConverter}}"
                                                IsEnabled="{Binding Accessible}" NumberDecimalDigits="16"
                                                Minimum="{Binding ConstraintValueDouble[0]}"
                                                Maximum="{Binding ConstraintValueDouble[1]}"
                                                Style="{StaticResource SessionParametersValue}" />
                </StackPanel>
            </DataTemplate>
            <DataTemplate x:Key="StringCameraProperty">
                <StackPanel Margin="0 3">
                    <TextBlock Text="{Binding Name}" Style="{StaticResource ParametersTitle}"/>
                    <TextBox Text="{Binding IHMValue}" Style="{StaticResource SessionParametersValue}" IsReadOnly="{Binding Accessible, Converter={StaticResource InvertBooleanConverter}}"/>
                </StackPanel>
            </DataTemplate>
            <DataTemplate x:Key="EnumCameraProperty">
                <StackPanel Margin="0 3">
                    <TextBlock Text="{Binding Name}" Style="{StaticResource ParametersTitle}"/>
                    <telerik:RadComboBox ItemsSource="{Binding ConstraintValueString}" SelectedValue="{Binding IHMValue}" 
                                        IsReadOnly="{Binding Accessible, Converter={StaticResource InvertBooleanConverter}}"
                                        Width="300" HorizontalAlignment="Left"/>
                </StackPanel>
            </DataTemplate>

            <DataTemplate x:Key="CameraPropertiesTemplate">
                <ContentControl Content="{Binding}">
                    <ContentControl.Style>
                        <Style TargetType="ContentControl">
                            <Style.Triggers>
                                <MultiDataTrigger>
                                    <MultiDataTrigger.Conditions>
                                        <Condition Binding="{Binding Type}" Value="{x:Static iMatlabWCF:ETypeCameraProperty.Int}"/>
                                        <Condition Binding="{Binding IsConstraintValueExist}" Value="False"/>
                                    </MultiDataTrigger.Conditions>
                                    <Setter Property="ContentTemplate" Value="{StaticResource IntCameraProperty}"/>
                                </MultiDataTrigger>
                                <MultiDataTrigger>
                                    <MultiDataTrigger.Conditions>
                                        <Condition Binding="{Binding Type}" Value="{x:Static iMatlabWCF:ETypeCameraProperty.Int}"/>
                                        <Condition Binding="{Binding IsConstraintValueExist}" Value="True"/>
                                        <Condition Binding="{Binding Constraint}" Value="bounded"/>
                                    </MultiDataTrigger.Conditions>
                                    <Setter Property="ContentTemplate" Value="{StaticResource IntBoundedCameraProperty}"/>
                                </MultiDataTrigger>
                                <MultiDataTrigger>
                                    <MultiDataTrigger.Conditions>
                                        <Condition Binding="{Binding Type}" Value="{x:Static iMatlabWCF:ETypeCameraProperty.Double}"/>
                                        <Condition Binding="{Binding IsConstraintValueExist}" Value="False"/>
                                    </MultiDataTrigger.Conditions>
                                    <Setter Property="ContentTemplate" Value="{StaticResource DoubleCameraProperty}"/>
                                </MultiDataTrigger>
                                <MultiDataTrigger>
                                    <MultiDataTrigger.Conditions>
                                        <Condition Binding="{Binding Type}" Value="{x:Static iMatlabWCF:ETypeCameraProperty.Double}"/>
                                        <Condition Binding="{Binding IsConstraintValueExist}" Value="True"/>
                                        <Condition Binding="{Binding Constraint}" Value="bounded"/>
                                    </MultiDataTrigger.Conditions>
                                    <Setter Property="ContentTemplate" Value="{StaticResource DoubleBoundedCameraProperty}"/>
                                </MultiDataTrigger>
                                <MultiDataTrigger>
                                    <MultiDataTrigger.Conditions>
                                        <Condition Binding="{Binding Type}" Value="{x:Static iMatlabWCF:ETypeCameraProperty.String}"/>
                                        <Condition Binding="{Binding IsConstraintValueExist}" Value="False"/>
                                    </MultiDataTrigger.Conditions>
                                    <Setter Property="ContentTemplate" Value="{StaticResource StringCameraProperty}"/>
                                </MultiDataTrigger>
                                <MultiDataTrigger>
                                    <MultiDataTrigger.Conditions>
                                        <Condition Binding="{Binding Type}" Value="{x:Static iMatlabWCF:ETypeCameraProperty.String}"/>
                                        <Condition Binding="{Binding IsConstraintValueExist}" Value="True"/>
                                        <Condition Binding="{Binding Constraint}" Value="enum"/>
                                    </MultiDataTrigger.Conditions>
                                    <Setter Property="ContentTemplate" Value="{StaticResource EnumCameraProperty}"/>
                                </MultiDataTrigger>
                            </Style.Triggers>
                        </Style>
                    </ContentControl.Style>
                </ContentControl>
            </DataTemplate>
        </ResourceDictionary>
    </UserControl.Resources>

    <Grid>
        <DockPanel Background="LightGray">
            <telerik:RadDocking Name="SessionMainPanel" PaneActivationMode="LastActivated" Background="LightGray" 
                                ElementLoaded="SessionMainPanel_ElementLoaded">
                <telerik:RadDocking.DocumentHost>
                    <telerik:RadSplitContainer>
                        <telerik:RadPaneGroup Background="AliceBlue" telerik:StyleManager.Theme="Fluent">
                            <telerik:RadDocumentPane Title="{x:Static resx:Resources.Treatments}" telerik:RadDocking.SerializationTag="TreatmentsPane"
                                                     CanUserClose="False" IsDragDisabled="True">
                                <telerik:RadDocumentPane.Header>
                                    <StackPanel x:Name="TreamtentPanel" Style="{StaticResource HeaderElements}">
                                        <TextBlock Text="{x:Static resx:Resources.Treatments}" Style="{StaticResource TextHeaderDocumentPane}"/>
                                        <Image Source="/icons/matlab.png" Style="{StaticResource HeaderImg}"/>
                                    </StackPanel>
                                </telerik:RadDocumentPane.Header>
                                <telerik:RadTileList ItemsSource="{Binding Treatments}" ItemTemplate="{StaticResource TreatmentsTemplate}"
                                         HorizontalAlignment="Center" VerticalTilesAlignment="Center">
                                </telerik:RadTileList>
                            </telerik:RadDocumentPane>
                        </telerik:RadPaneGroup>
                    </telerik:RadSplitContainer>
                </telerik:RadDocking.DocumentHost>
                <telerik:RadSplitContainer InitialPosition="DockedLeft" telerik:StyleManager.Theme="Fluent">
                    <telerik:RadPaneGroup>
                        <telerik:RadPane Title="{x:Static resx:Resources.CameraParameters}" telerik:RadDocking.SerializationTag="CameraParamsPane"
                                         IsPinned="False" CanUserClose="False">
                            <telerik:RadPane.Header>
                                <StackPanel x:Name="CameraParamsPanel" Style="{StaticResource HeaderElements}">
                                    <TextBlock Text="{x:Static resx:Resources.CameraParameters}" Style="{StaticResource TextHeaderPane}"/>
                                    <Image Source="/icons/camera.png" Style="{StaticResource HeaderImg}"/>
                                </StackPanel>
                            </telerik:RadPane.Header>
                            <ScrollViewer VerticalScrollBarVisibility="Auto" HorizontalScrollBarVisibility="Hidden" Width="Auto" Background="#f6fcff" >
                                <ScrollViewer.Resources>
                                    <Style TargetType="TextBlock">
                                        <Style.Triggers>
                                            <DataTrigger Binding="{Binding AllCameraProperties.Count}" Value="0">
                                                <Setter Property="Visibility" Value="Visible"/>
                                            </DataTrigger>
                                        </Style.Triggers>
                                    </Style>

                                    <Style TargetType="StackPanel">
                                        <Style.Triggers>
                                            <DataTrigger Binding="{Binding AllCameraProperties.Count}" Value="0">
                                                <Setter Property="Visibility" Value="Collapsed"/>
                                            </DataTrigger>
                                        </Style.Triggers>
                                    </Style>
                                </ScrollViewer.Resources>
                                <Grid>
                                    <TextBlock HorizontalAlignment="Center" VerticalAlignment="Top" FontSize="25"
                                    Margin="0 25" Style="{StaticResource CategoryTitle}" Visibility="Collapsed"
                                    Text="{x:Static resx:Resources.NoCameraProperty}"/>
                                    <StackPanel>
                                        <ListView HorizontalAlignment="Stretch" HorizontalContentAlignment="Stretch"
                                                  ItemsSource="{Binding AllCameraProperties}" Background="#eff9ff"
                                                  ItemTemplate="{StaticResource CameraPropertiesTemplate}"
                                                  ItemsPanel="{StaticResource TreatmentItemPanel}"/>
                                        <WrapPanel HorizontalAlignment="Right" VerticalAlignment="Center" Margin="0 0 70 0">
                                            <telerik:RadButton Margin="10"
                                                    Command="{Binding WriteProperties}" Content="{x:Static resx:Resources.WriteParameters}"/>

                                            <telerik:RadButton Margin="10" 
                                                    Command="{Binding ResetProperties}" Content="{x:Static resx:Resources.ResetParameters}"/>

                                            <telerik:RadButton Margin="10"
                                                    Command="{Binding SetProperties}" Content="{x:Static resx:Resources.SetParameters}"/>

                                        </WrapPanel>
                                    </StackPanel>
                                </Grid>
                            </ScrollViewer>
                        </telerik:RadPane>
                        <telerik:RadPane Title="{x:Static resx:Resources.AcquisitionParameters}" telerik:RadDocking.SerializationTag="AcquisitionParamsPane"
                                         IsPinned="False" CanUserClose="False">
                            <telerik:RadPane.Header>
                                <StackPanel x:Name="AcquisitionParamsPanel" Style="{StaticResource HeaderElements}">
                                    <TextBlock Text="{x:Static resx:Resources.AcquisitionParameters}" Style="{StaticResource TextHeaderPane}"/>
                                    <Image Source="/icons/acquisitionParams.png" Style="{StaticResource HeaderImg}"/>
                                </StackPanel>
                            </telerik:RadPane.Header>
                            <ScrollViewer VerticalScrollBarVisibility="Visible">
                                <StackPanel Background="#f6fcff">
                                    <telerik:RadExpander Header="{x:Static resx:Resources.Images}" Background="LightSteelBlue" IsExpanded="True">
                                        <ScrollViewer HorizontalScrollBarVisibility="Auto" VerticalScrollBarVisibility="Hidden">
                                            <Grid x:Name="ImagesParametersGrid" Background="#f6fcff">
                                                <Grid.Resources>
                                                    <Style TargetType="StackPanel">
                                                        <Setter Property="Margin" Value="10 8"/>
                                                    </Style>
                                                </Grid.Resources>
                                                <Grid.RowDefinitions>
                                                    <RowDefinition/>
                                                    <RowDefinition/>
                                                    <RowDefinition/>
                                                    <RowDefinition/>
                                                    <RowDefinition/>
                                                </Grid.RowDefinitions>
                                                <Grid.ColumnDefinitions>
                                                    <ColumnDefinition/>
                                                    <ColumnDefinition/>
                                                    <ColumnDefinition/>
                                                </Grid.ColumnDefinitions>

                                                <StackPanel>
                                                    <TextBlock Text="{x:Static resx:Resources.FrameTrigger}" Style="{StaticResource CategoryTitle}"/>
                                                    <telerik:RadNumericUpDown Style="{StaticResource SessionParametersValue}"
                                                          Value="{Binding FramePerTriggerNumber}" HideTrailingZeros="True" Minimum="0"/>
                                                </StackPanel>

                                                <StackPanel Grid.Column="1">
                                                    <TextBlock Text="{x:Static resx:Resources.TriggerRepeat}" Style="{StaticResource CategoryTitle}"/>
                                                    <telerik:RadNumericUpDown Style="{StaticResource SessionParametersValue}"
                                                          Value="{Binding TriggerRepeatNumber}" HideTrailingZeros="True" Minimum="0"/>
                                                </StackPanel>

                                                <StackPanel Grid.Column="2">
                                                    <TextBlock Text="{x:Static resx:Resources.TriggerFrameDelay}" Style="{StaticResource CategoryTitle}"/>
                                                    <telerik:RadNumericUpDown Style="{StaticResource SessionParametersValue}"
                                                          Value="{Binding TriggerFrameDelayNumber}" HideTrailingZeros="True" Minimum="0"/>
                                                </StackPanel>

                                                <StackPanel Grid.Row="1">
                                                    <TextBlock Text="{x:Static resx:Resources.FrameGrabInterval}" Style="{StaticResource CategoryTitle}"/>
                                                    <telerik:RadNumericUpDown Style="{StaticResource SessionParametersValue}"
                                                          Value="{Binding FrameGrabInterval}" HideTrailingZeros="True" Minimum="1"/>
                                                </StackPanel>

                                                <StackPanel Grid.Row="1" Grid.Column="1">
                                                    <TextBlock Text="{x:Static resx:Resources.TriggerType}" Style="{StaticResource CategoryTitle}"/>
                                                    <telerik:RadComboBox ItemsSource="{Binding Types}" SelectedIndex="1" SelectedItem="{Binding CurrentType, Mode=TwoWay}" Width="300" HorizontalAlignment="Left"/>
                                                </StackPanel>

                                                <StackPanel Grid.Row="1" Grid.Column="2">
                                                    <TextBlock Text="{x:Static resx:Resources.FilePrefix}" Style="{StaticResource CategoryTitle}"/>
                                                    <TextBox Style="{StaticResource SessionParametersValue}" Text="{Binding FilePrefix}"/>
                                                </StackPanel>


                                                <Grid Grid.Row="2" Grid.ColumnSpan="3" Margin="10 8">
                                                    <Grid.ColumnDefinitions>
                                                        <ColumnDefinition/>
                                                    </Grid.ColumnDefinitions>
                                                    <Grid.RowDefinitions>
                                                        <RowDefinition/>
                                                        <RowDefinition/>
                                                        <RowDefinition/>
                                                    </Grid.RowDefinitions>
                                                    <TextBlock Text="{x:Static resx:Resources.ImagesDirectory}" Style="{StaticResource CategoryTitle}"/>
                                                    <TextBox IsReadOnly="True" Text="{Binding FolderName}" Style="{StaticResource SessionParametersValue}" Width="Auto" HorizontalAlignment="Stretch" Grid.Row="1"/>
                                                    <telerik:RadButton Margin="8" HorizontalAlignment="Right" Grid.Row="2"
                                                   Content="{x:Static resx:Resources.ChooseFolder}" 
                                                   Command="{Binding ChooseFolder}"/>
                                                </Grid>

                                                <StackPanel Grid.Row="3">
                                                    <TextBlock Text="{x:Static resx:Resources.GenerateMean}" Style="{StaticResource CategoryTitle}"/>
                                                    <telerik:RadToggleButton Style="{StaticResource RadToggleSwitch}" HorizontalAlignment="Left" Margin="20 0 0 0"
                                                                 IsChecked="{Binding IsMeanGenerate}"/>
                                                </StackPanel>

                                                <StackPanel Grid.Row="3" Grid.Column="1">
                                                    <TextBlock Text="{x:Static resx:Resources.Format}" Style="{StaticResource CategoryTitle}"/>
                                                    <telerik:RadComboBox ItemsSource="{Binding Formats}" SelectedIndex="0" SelectedItem="{Binding CurrentFormat, Mode=TwoWay}" Width="300" HorizontalAlignment="Left"/>
                                                </StackPanel>

                                                <StackPanel Grid.Row="3" Grid.Column="2">
                                                    <TextBlock Text="{x:Static resx:Resources.BitDepth}" Style="{StaticResource CategoryTitle}"/>
                                                    <telerik:RadToggleButton Style="{StaticResource RadToggleSwitch}" HorizontalAlignment="Left" Margin="20 0 0 0"
                                                                 IsChecked="{Binding ApplyBitDepth}"/>
                                                </StackPanel>
                                            </Grid>
                                        </ScrollViewer>
                                    </telerik:RadExpander>

                                    <telerik:RadExpander  Header="{x:Static resx:Resources.Video}" Background="LightSteelBlue" IsExpanded="True">
                                        <ScrollViewer HorizontalScrollBarVisibility="Auto" VerticalScrollBarVisibility="Hidden">
                                            <Grid x:Name="VideoParametersGrid" Background="#f6fcff">
                                                <Grid.Resources>
                                                    <Style TargetType="StackPanel">
                                                        <Setter Property="Margin" Value="10 5"/>
                                                    </Style>
                                                </Grid.Resources>
                                                <Grid.RowDefinitions>
                                                    <RowDefinition/>
                                                    <RowDefinition/>
                                                </Grid.RowDefinitions>
                                                <Grid.ColumnDefinitions>
                                                    <ColumnDefinition/>
                                                    <ColumnDefinition/>
                                                </Grid.ColumnDefinitions>

                                                <Grid Grid.ColumnSpan="2" Margin="10 8">
                                                    <Grid.ColumnDefinitions>
                                                        <ColumnDefinition/>
                                                    </Grid.ColumnDefinitions>
                                                    <Grid.RowDefinitions>
                                                        <RowDefinition/>
                                                        <RowDefinition/>
                                                        <RowDefinition/>
                                                    </Grid.RowDefinitions>
                                                    <TextBlock Text="{x:Static resx:Resources.VideoDirectory}" Style="{StaticResource CategoryTitle}"/>
                                                    <TextBox IsReadOnly="True" Text="{Binding VideoFolderName}" Style="{StaticResource SessionParametersValue}" Width="Auto" HorizontalAlignment="Stretch" Grid.Row="1"/>
                                                    <telerik:RadButton Margin="8" HorizontalAlignment="Right" Grid.Row="2"
                                                   Content="{x:Static resx:Resources.ChooseFolder}" 
                                                   Command="{Binding ChooseVideoFolder}"/>
                                                </Grid>

                                                <StackPanel Grid.Row="1">
                                                    <TextBlock Text="{x:Static resx:Resources.FileName}" Style="{StaticResource CategoryTitle}"/>
                                                    <TextBox Style="{StaticResource SessionParametersValue}" Text="{Binding VideoFileName}"/>
                                                </StackPanel>

                                                <StackPanel Grid.Row="1" Grid.Column="1">
                                                    <TextBlock Text="{x:Static resx:Resources.Format}" Style="{StaticResource CategoryTitle}"/>
                                                    <telerik:RadComboBox ItemsSource="{Binding VideoTypes}" SelectedIndex="2" SelectedItem="{Binding CurrentVideoType, Mode=TwoWay}" Width="300" HorizontalAlignment="Left"/>
                                                </StackPanel>
                                            </Grid>
                                        </ScrollViewer>
                                    </telerik:RadExpander>
                                </StackPanel>
                            </ScrollViewer>
                        </telerik:RadPane>
                        <telerik:RadPane Title="{x:Static resx:Resources.TreatmentParameters}" telerik:RadDocking.SerializationTag="TreatmentParamsPane"
                                         IsPinned="False" CanUserClose="False">
                            <telerik:RadPane.Header>
                                <StackPanel x:Name="TreatmentsParamsPanel" Style="{StaticResource HeaderElements}">
                                    <TextBlock Text="{x:Static resx:Resources.TreatmentParameters}" Style="{StaticResource TextHeaderPane}"/>
                                    <Image Source="/icons/settings.png" Style="{StaticResource HeaderImg}"/>
                                </StackPanel>
                            </telerik:RadPane.Header>
                            <StackPanel>
                                <TextBlock Text="{x:Static resx:Resources.DefaultColor}" Style="{StaticResource CategoryTitle}"/>
                                <telerik:RadColorEditor SelectedColor="{Binding ColorTreatments, Mode=TwoWay}" ColorMode="RGB" />
                            </StackPanel>
                        </telerik:RadPane>
                        <telerik:RadPane Title="{x:Static resx:Resources.ViewerParameters}" telerik:RadDocking.SerializationTag="ViewerParamsPane"
                                         IsPinned="False" CanUserClose="False">
                            <telerik:RadPane.Header>
                                <StackPanel x:Name="ViewerParamsPanel" Style="{StaticResource HeaderElements}">
                                    <TextBlock Text="{x:Static resx:Resources.ViewerParameters}" Style="{StaticResource TextHeaderPane}"/>
                                    <Image Source="/icons/viewerParams.png" Style="{StaticResource HeaderImg}"/>
                                </StackPanel>
                            </telerik:RadPane.Header>
                            <Grid>
                                <Grid.RowDefinitions>
                                    <RowDefinition Height="Auto"/>
                                    <RowDefinition Height="Auto"/>
                                    <RowDefinition Height="Auto"/>
                                </Grid.RowDefinitions>
                                <Grid.ColumnDefinitions>
                                    <ColumnDefinition/>
                                    <ColumnDefinition/>
                                </Grid.ColumnDefinitions>

                                <StackPanel>
                                    <TextBlock Text="{x:Static resx:Resources.ColorsSpace}" Style="{StaticResource CategoryTitle}"/>
                                    <telerik:RadComboBox ItemsSource="{Binding ColorsSpaces}" SelectedIndex="0" SelectedItem="{Binding CurrentColorsSpace, Mode=TwoWay}" Width="300" HorizontalAlignment="Left"/>
                                </StackPanel>
                                <StackPanel Grid.Column="1">
                                    <StackPanel.Style>
                                        <Style TargetType="StackPanel">
                                            <Setter Property="IsEnabled" Value="False"/>
                                            <Style.Triggers>
                                                <DataTrigger Binding="{Binding CurrentColorsSpace.Value}" Value="{x:Static iMatlabWCF:EReturnedColorSpace.Bayer}">
                                                    <Setter Property="IsEnabled" Value="True"/>
                                                </DataTrigger>
                                            </Style.Triggers>
                                        </Style>
                                    </StackPanel.Style>
                                    <TextBlock Text="{x:Static resx:Resources.ColorFilter}" Style="{StaticResource CategoryTitle}"/>
                                    <telerik:RadComboBox ItemsSource="{Binding ColorFilter}" SelectedIndex="0" SelectedItem="{Binding CurrentColorFilter, Mode=TwoWay}" Width="300" HorizontalAlignment="Left"/>
                                </StackPanel>

                                <telerik:RadButton Grid.Row="1" Grid.Column="1" HorizontalAlignment="Right" Margin="20 10"
                                           Command="{Binding UpdateColorsSapce}" Content="{x:Static resx:Resources.UpdateColorsSpace}"/>

                            </Grid>
                        </telerik:RadPane>
                        <telerik:RadPane Title="HiddenPane" IsPinned="False" telerik:RadDocking.SerializationTag="HiddenPane"
                                         Visibility="Hidden" Width="40" Height="0" Margin="0"/>
                    </telerik:RadPaneGroup>
                </telerik:RadSplitContainer>
            </telerik:RadDocking>
        </DockPanel>
        <StackPanel x:Name="ButtonsPanel" Width="50" HorizontalAlignment="Left" VerticalAlignment="Bottom">
            <telerik:RadToggleButton ToolTip="{x:Static resx:Resources.Viewer}" Margin="5 2"
                                     IsChecked="{Binding Path=IsViewerDisplayed, Mode=OneWay}"
                                     Command="{Binding Path=ShowOrCloseViewerCommand}">
                <Image Source="/icons/viewer.png" Style="{StaticResource HeaderImg}"/>
            </telerik:RadToggleButton>
            <telerik:RadButton ToolTip="{x:Static resx:Resources.AcquireImages}" Command="{Binding AcquireImages}"
                               Margin="5 2" Padding="5" >
                <Image Source="/icons/acquireImg.png" Style="{StaticResource HeaderImg}"/>
            </telerik:RadButton>
            <telerik:RadToggleButton ToolTip="{Binding AcquireVideoLabel}" Command="{Binding AcquireVideo}" 
                                     IsChecked="{Binding IsAcquiringVideo, Mode=OneWayToSource}" Margin="5 2">
                <Image Source="/icons/acquireVideo.png" Style="{StaticResource HeaderImg}"/>
            </telerik:RadToggleButton>
        </StackPanel>
    </Grid>
</UserControl>
    


Unplanned
Last Updated: 03 Dec 2019 14:47 by ADMIN
Prevent the closing of the auto-hide area if the context menu of an element in it is opened.
Unplanned
Last Updated: 01 Nov 2019 09:21 by ADMIN

This feature request is related to Ticket 1435779

 

Image for context

 

Currently, there's no support for increasing the drag threshold for the items on the orange box. Even after setting the values below.

DragDropManager.MinimumHorizontalDragDistance = 5000;
DragDropManager.MinimumVerticalDragDistance = 5000;

 

It would also be beneficial if instead of just relying on the drag threshold which is the box. Add a support for a sort of "Drag Time" concept where we can define how long the user should've held the actual pane before dragging/going outside the threshold.

Completed
Last Updated: 30 Oct 2019 07:49 by ADMIN
Release LIB 2019.3.1103
Completed
Last Updated: 21 Oct 2019 10:53 by ADMIN
Release R3 2019 SP1

Hello Support,

we are using the RadDocking.LayoutChangeEnded event to store the docking layout (via RadDocking.SaveLayout) after the user has changed it.

When animations are enabled (default) everything works as expected and all groups, split containers, and panes are included when in the XML written by RadDocking.SaveLayout.

However, when disabling animations (either using AnimationManager.IsGlobalAnimationEnabled or custom styles for RadWindow and/or ToolWindow setting AnimationManager.IsAnimationEnabled to false) the RadDocking.LayoutChangeEnded event is raised too early.

The faulty behavior can be reproduced with the attached demo application as follows:

1. start the application (App.xaml includes a style for ToolWindow with animations disabled)

2. drag the pane "Solution Explorer" out of the application to create a new tool window

3. drag the "Solution Explorer" tool window onto the "Properties" pane's compass and drop it below "Properties", so that "Properties" and "Solution Explorer" are both pinned right in the application above each other

4. when inspecting the layout written to the "Output" pane you will find that the entry for the RadPane "Solution Explorer" is missing

Any additional change to the docking layout (like resizing a pane) will update the layout and show all panes again.

When enabling animations in the ToolWindow style the above steps will result in the complete layout being written to the "Output" pane.

Please let me know should you require further information for reproduction of this bug.

Best regards,

Oliver

Completed
Last Updated: 04 Oct 2019 10:28 by ADMIN
Release LIB 2019.3.1007
The CustomElementLoading event can't be canceled without creating a new instance of the custom element.

As a workaround in the CustomElementLoading event handler you can call the SetAffectedElement() with creating DependencyObject and then Cancel the event by setting the Cancel property.
private void RadDockingOnCustomElementLoading(object sender, LayoutSerializationCustomLoadingEventArgs e)
{
    if (e.CustomElementTypeName == "MyRadPane")
    {
        e.SetAffectedElement(new DependencyObject());
        e.Cancel = true;              
    }
}
Completed
Last Updated: 03 Jun 2019 06:26 by ADMIN
Release LIB 2019.2.603 (06/03/2019)
When the IsHidden property of a RadPane within a ToolWindow is set to True and then to false in quick succession, the ToolWindow is not shown. 

As a workaround, you can disable the animation of the ToolWindow:
<Style TargetType="telerik:ToolWindow">
<Setter Property="telerik:AnimationManager.IsAnimationEnabled" Value="False" />
</Style>

The above style need to be placed in the resources of the App.xaml in order to take effect on the ToolWindows, since they are displayed in a separated visual tree.