Completed
Last Updated: 15 Dec 2019 11:48 by ADMIN

When the control is declared in XAML, and we place the caret somewhere on the control the VS designer is open, and the dropdown is open.

Pending Review
Last Updated: 13 Dec 2019 15:01 by n/a

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>
    


Completed
Last Updated: 13 Dec 2019 13:36 by ADMIN
You can show the shortcuts by adding a Filter, however in the MS dialogs they are visible by default. 
Approved
Last Updated: 13 Dec 2019 13:24 by ADMIN
RichTextBox: wrong content when pasting RTF with an encoding other than utf-8.
Completed
Last Updated: 13 Dec 2019 13:15 by ADMIN
Created by: LindenauAtSOG
Comments: 13
Category: UI for WPF
Type: Bug Report
3

Requirements:

- Multiple screen RDP-Session with option "Show windowcontents while dragging" turned off.

- RadTabbedwindow with AllowTransparency = false (might not be necessary)

 

When dragging a maximized TabbedWindow to a different screen into maximized mode, it is allways maximized on the primary screen.
Dragging it on the target screen so that it is not maximized and then clicking maximize works.

The issue only appears when the mentiond setting in the RDP-Session is turned off.

Approved
Last Updated: 13 Dec 2019 12:13 by ADMIN
Make it possible to create windows of a custom type when dragging a tab out of the control.
In Development
Last Updated: 13 Dec 2019 08:20 by ADMIN
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.
Approved
Last Updated: 12 Dec 2019 09:15 by ADMIN
Created by: Heiko
Comments: 3
Category: UI for WPF
Type: Bug Report
2
The WPF .NET Core 3 packages reference assemblies from SharpDX project. For one, these assemblies only work with .NET Framework 4.x. In addition, the project will not be developed further and there will not be a version compatible with .NET Core 3.x or later versions. I consider this as a serious bug and Telerik should think about removing the SharpDX assemblies and swapping it for another. Even if my project compiles without errors, you always have the warning signs on the dependencies.
Approved
Last Updated: 12 Dec 2019 09:02 by ADMIN
Allow rotation of the video feed from the webcam device.
Approved
Last Updated: 11 Dec 2019 15:26 by ADMIN

 Exception when exporting document that contains links with an empty address.

Workaround:

private void Button_Click_1(object sender, RoutedEventArgs e)
{
    foreach (SpreadsheetHyperlink item in this.radSpreadsheet.Workbook.ActiveWorksheet.Hyperlinks.ToList())
    {
        if (string.IsNullOrEmpty(item.HyperlinkInfo.Address))
        {
            this.radSpreadsheet.Workbook.ActiveWorksheet.Hyperlinks.Remove(item);

        }
    }
    
}

Approved
Last Updated: 11 Dec 2019 13:46 by ADMIN
Created by: n/a
Comments: 0
Category: ChartView
Type: Feature Request
3
Add support for drill-down functionality.
Completed
Last Updated: 11 Dec 2019 13:35 by ADMIN
Release LIB 2019.3.1216 (12/16/2019)
When trying to import a document containing bookmark and BookmarkRangeEnd is after the last paragraph, a StackOverflowException is thrown in IntervalNode while trying to rebuild the document cache. (RadDocumentChildrenCache.RebuildTree()).

The same could be observed if the bookmark end is last in the header/footer, between table cells in the RadDocument body, or when all paragraphs after the bookmark range end are hidden (with vanish property).

Workaround: Detect the problematic annotations and remove them:
foreach (var rangeStart in document.EnumerateChildrenOfType<AnnotationRangeStart>())
{
    if (rangeStart.End == null || rangeStart.End.Parent == null || rangeStart.End.Parent.Parent == null)
    {
        //MessageBox.Show("This indicates a problem.");
        rangeStart.Parent.Children.Remove(rangeStart);
    }
}

Note: Until 2017 R2 SP1 release StackOverflowException is thrown, after this release an ArgumentException should be thrown.
Pending Review
Last Updated: 11 Dec 2019 12:06 by EK
Created by: EK
Comments: 0
Category: UI for WPF
Type: Feature Request
0

Hi there

This is a very impotent control in our company.
However, we need to implement a spell checker as you already have in RTF.

 

Eliezer Kaplansy PhD
CTO
Makeshet Information Systems

Completed
Last Updated: 11 Dec 2019 11:26 by ADMIN
Release LIB 2019.3.1216

Expose an event that allows you to cancel the navigation to a folder. For example, if you enter an address in the breadcrumb, click the back button, or select a directory in the navigation tree, then you should be able to cancel the navigation.

This can be done via a new event that have a Cancel property in its arguments, for example.

The naming shown here is not mandatory.

Completed
Last Updated: 11 Dec 2019 11:02 by ADMIN
Release R1 2020
Add a mechanism that allows show/hide the context menu that opens when you right click on an empty space in the dialog. For example, you should be able to hide the "New Folder" or "Properties" options.
Approved
Last Updated: 11 Dec 2019 09:27 by ADMIN
When switching to a different window, the selected item in the RadTreeView stays in a selected in-focus state. The expected behavior is not to be focused any more (turn gray).
Approved
Last Updated: 11 Dec 2019 07:38 by ADMIN
Created by: n/a
Comments: 1
Category: Spreadsheet
Type: Feature Request
1

Hi,

I think it would be really cool to include a search bar in the filter window, as implemented in Excel (Please find attached a screenshot for demonstration). This is a very useful functionality, as there may be too many options to choose from is the filter is added to subject ID, which could result in thousands IDs.

Completed
Last Updated: 10 Dec 2019 14:55 by ADMIN
When a link to a folder is selected and the Open button is clicked, the RadOpenFileDialog does not navigate to that folder. 
In Development
Last Updated: 10 Dec 2019 08:03 by ADMIN
ADMIN
Created by: Anna
Comments: 0
Category: Spreadsheet
Type: Feature Request
2
Implement UI for hiding sheet. The sheets can be visible, hidden, or very hidden (could be made visible only from the API).

Note: This is already supported on model level (in RadSpreadProcessing).
Approved
Last Updated: 09 Dec 2019 13:34 by ADMIN
Black border appears around the window when SizeToContent is set to WidthAndHeight
1 2 3 4 5 6