Hi,
I am using Telerik "RadDocking" control in our WPF project. I customized the "TitleTemplate" of one RadPane inside using the following DataTemplate. It basically added a RadComboBox and a RadButton besides the title. Now, whenever I pin/unpin the group pane by clicking that "Pin" button, the "SelectionChanged" event in that RadComboBox also gets fired, which is not expected since the selection is not changed in the combobox. Can you explain why this happened? Is this a bug in the control? Thanks, Jie
<
DataTemplate x:Key="WellTreeTitleTemplate">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<ContentPresenter Grid.Column="0" Content="{Binding}" VerticalAlignment="Center" />
<tk:RadComboBox Grid.Column="1" Margin="5,4,2,4" HorizontalAlignment="Stretch"
DisplayMemberPath="Name" IsEditable="True" IsReadOnly="True"
ItemsSource="{Binding Path=DataContext.Trees, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type Window}}}"
SelectedItem="{Binding Path=DataContext.SelectedTree, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type Window}}, Mode=TwoWay}"
SelectionChanged="treeComboBox_SelectionChanged" />
<tk:RadButton Grid.Column="2" ToolTip="Tree Setup" IsBackgroundVisible="False"
Margin="0,1,5,1" Width="22" Height="22" Click="treeSetupButton_Click">
<Image Source="{DynamicResource ImageWellTreeConfig24}" />
</tk:RadButton>
</Grid>
</DataTemplate>
<telerik:SemicircleNorthScale x:Name="RudderGaugeScale" SweepAngle="140" StartAngle="200" ShowFirstLabel="False" ShowLastLabel="False" LabelRotationMode="None" MiddleTicks="1" MajorTickStep="5" EndWidth="0.2" StartWidth="0.2" FontSize="9.333" FontWeight="Bold" Foreground="White" LabelLocation="OverOutside" MajorTickLocation="CenterInside" MiddleTickStroke="#00000000" MinorTickBackground="#00000000" MajorTickStroke="White" MiddleTickBackground="#00000000" MajorTickBackground="White" MajorTickUseRangeColor="True" MinorTickStroke="#01FFFFFF" MajorTickStrokeThickness="1" > <telerik:SemicircleNorthScale.Resources> <helpers:BindingProxy x:Key="proxy" Data="{Binding ElementName=RudderGauge}" /> </telerik:SemicircleNorthScale.Resources> <telerik:SemicircleNorthScale.Min> <MultiBinding Converter="{StaticResource AngleScaleDisplayConverter}"> <Binding ElementName="RudderGauge" Path="MinValue" /> <Binding ElementName="RudderGauge" Path="DeadAngle" /> </MultiBinding> </telerik:SemicircleNorthScale.Min> <telerik:SemicircleNorthScale.Max> <MultiBinding Converter="{StaticResource AngleScaleDisplayConverter}"> <Binding ElementName="RudderGauge" Path="MaxValue" /> <Binding ElementName="RudderGauge" Path="DeadAngle" /> </MultiBinding> </telerik:SemicircleNorthScale.Max> <telerik:SemicircleNorthScale.Ranges> <telerik:GaugeRange x:Name="DangerZone1" Background="{Binding Path=ColorDanger, ElementName=RudderGauge, Converter={StaticResource ColorConverter}}" Min="{Binding ElementName=RudderGaugeScale, Path=Min}" Max="{Binding ElementName=RudderGauge, Path=DangerMin}" StartWidth="0.8" /> <telerik:GaugeRange x:Name="DefaultRange" Min="{Binding ElementName=RudderGauge, Path=DangerMin}" Max="{Binding ElementName=RudderGauge, Path=DangerMax}" Background="{Binding ColorDisplay, ElementName=RudderGauge, Converter={StaticResource ColorConverter}}" StartWidth="0.8" /> <telerik:GaugeRange x:Name="Sector2" Min="{Binding ElementName=RudderGauge, Path=Sector2Value}" Max="{Binding ElementName=RudderGauge, Path=DangerMax}" Background="{Binding ColorSector2, ElementName=RudderGauge, Converter={StaticResource ColorConverter}}" Visibility="{Binding Path=Data.DisplaySector2, ElementName=RudderGauge, Converter={StaticResource VisibilityConverter} diagnostics:PresentationTraceSources.TraceLevel=High}" StartWidth="0.8" /> <telerik:GaugeRange x:Name="DangerZone2" Min="{Binding ElementName=RudderGauge, Path=DangerMax}" Max="{Binding ElementName=RudderGaugeScale, Path=Max}" Background="{Binding ColorDanger, ElementName=RudderGauge, Converter={StaticResource ColorConverter}}" StartWidth="0.8" /> </telerik:SemicircleNorthScale.Ranges> <telerik:SemicircleNorthScale.Indicators> <telerik:Needle Value="{Binding ElementName=RudderGauge, Path=CurrentValue}" /> <telerik:Marker Value="{Binding ElementName=RudderGauge, Path=SetPoint}" Visibility="{Binding ElementName=RudderGauge, Path=DisplaySetPoint, Converter={StaticResource VisibilityConverter}}" /> </telerik:SemicircleNorthScale.Indicators></telerik:SemicircleNorthScale>public static DependencyProperty DisplaySector2Property = DependencyProperty.Register("DisplaySector2", typeof(bool), typeof(ECARudderGauge), new PropertyMetadata(DisplaySector2PropertyChanged));public bool DisplaySector2{ get { return (bool)GetValue(DisplaySector2Property); } set { SetValue(DisplaySector2Property, value); }}private static void DisplaySector2PropertyChanged(DependencyObject o, DependencyPropertyChangedEventArgs e){ ((ECARudderGauge)o).OnDisplaySector2PropertyChanged((bool)e.NewValue);}private void OnDisplaySector2PropertyChanged(bool newValue){ DisplaySector2 = newValue;}using System;using System.Windows;using System.Windows.Data;using System.Globalization;namespace ECAControls.Converters{ public class VisibilityConverter : IValueConverter { public object Convert(object value, Type targetType, object parameter, CultureInfo culture) { bool param = (bool)value; if (param) return Visibility.Visible; else return Visibility.Collapsed; } public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) { Visibility state = (Visibility)value; if (state == Visibility.Visible) return true; else return false; } }}<eca:ECARudderGauge x:Name="test1" Grid.Row="0" Grid.Column="1" MinValue="{Binding Path=Rudder.MinValue}" MaxValue="{Binding Path=Rudder.MaxValue}" Steps="{Binding Path=Rudder.Steps, Mode=TwoWay}" CurrentValue="{Binding Path=Rudder.CurrentValue, Mode=TwoWay}" SetPoint="{Binding Path=Rudder.SetPoint, Mode=TwoWay}" DisplaySetPoint="{Binding Path=Rudder.DisplaySetPoint, Mode=TwoWay}" ValidateMeasure="{Binding Path=Rudder.ValidateMeasure, Mode=TwoWay}" StopValue="{Binding Path=Rudder.StopValue, Mode=TwoWay}" Sector2Value="{Binding Path=Rudder.Sector2Value, Mode=TwoWay}" DangerMin="{Binding Path=Rudder.DangerMin, Mode=TwoWay}" DangerMax="{Binding Path=Rudder.DangerMax, Mode=TwoWay}" DeadAngle="{Binding Path=Rudder.DeadAngle, Mode=TwoWay}" DisplaySector2="{Binding Path=Rudder.DisplaySector2, Mode=TwoWay}" Text1="{Binding Path=Rudder.Text1, Mode=TwoWay}" Text2="{Binding Path=Rudder.Text2, Mode=TwoWay}" ColorDisplay="{Binding Path=Rudder.ColorDisplay, Mode=TwoWay}" ColorValue="{Binding Path=Rudder.ColorValue, Mode=TwoWay}" ColorScale="{Binding Path=Rudder.ColorScale, Mode=TwoWay}" ColorSetPoint="{Binding Path=Rudder.ColorSetPoint, Mode=TwoWay}" ColorStop="{Binding Path=Rudder.ColorStop, Mode=TwoWay}" ColorSector2="{Binding Path=Rudder.ColorSector2, Mode=TwoWay}" ColorDanger="{Binding Path=Rudder.ColorDanger, Mode=TwoWay}" ColorNeedle1="{Binding Path=Rudder.ColorNeedle1, Mode=TwoWay}" ColorNeedle2="{Binding Path=Rudder.ColorNeedle2, Mode=TwoWay}" ForeColorCurrentVal="{Binding Path=Rudder.ForeColorCurrentVal, Mode=TwoWay}" BackColorCurrentVal="{Binding Path=Rudder.BackColorCurrentVal, Mode=TwoWay}"/>01.System.Windows.Data Warning: 56 : Created BindingExpression (hash=32089967) for Binding (hash=25935173)02.System.Windows.Data Warning: 58 : Path: 'DisplaySector2'03.System.Windows.Data Warning: 60 : BindingExpression (hash=32089967): Default mode resolved to OneWay04.System.Windows.Data Warning: 61 : BindingExpression (hash=32089967): Default update trigger resolved to PropertyChanged05.System.Windows.Data Warning: 62 : BindingExpression (hash=32089967): Attach to Telerik.Windows.Controls.Gauge.GaugeRange.Visibility (hash=11099805)06.System.Windows.Data Warning: 64 : BindingExpression (hash=32089967): Use Framework mentor <null>07.System.Windows.Data Warning: 67 : BindingExpression (hash=32089967): Resolving source 08.System.Windows.Data Warning: 69 : BindingExpression (hash=32089967): Framework mentor not found09.System.Windows.Data Warning: 65 : BindingExpression (hash=32089967): Resolve source deferred10.System.Windows.Data Warning: 95 : BindingExpression (hash=32089967): Got InheritanceContextChanged event from GaugeRange (hash=11099805)11.System.Windows.Data Warning: 67 : BindingExpression (hash=32089967): Resolving source 12.System.Windows.Data Warning: 70 : BindingExpression (hash=32089967): Found data context element: <null> (OK)13.System.Windows.Data Warning: 74 : Lookup name RudderGauge: queried SemicircleNorthScale (hash=21772565)14.System.Windows.Data Warning: 78 : BindingExpression (hash=32089967): Activate with root item ECARudderGauge (hash=61735358)15.System.Windows.Data Warning: 108 : BindingExpression (hash=32089967): At level 0 - for ECARudderGauge.DisplaySector2 found accessor DependencyProperty(DisplaySector2)16.System.Windows.Data Warning: 104 : BindingExpression (hash=32089967): Replace item at level 0 with ECARudderGauge (hash=61735358), using accessor DependencyProperty(DisplaySector2)17.System.Windows.Data Warning: 101 : BindingExpression (hash=32089967): GetValue at level 0 from ECARudderGauge (hash=61735358) using DependencyProperty(DisplaySector2): 'False'18.System.Windows.Data Warning: 80 : BindingExpression (hash=32089967): TransferValue - got raw value 'False'19.System.Windows.Data Warning: 82 : BindingExpression (hash=32089967): TransferValue - user's converter produced 'Collapsed'20.System.Windows.Data Warning: 89 : BindingExpression (hash=32089967): TransferValue - using final value 'Collapsed'21.System.Windows.Data Warning: 79 : BindingExpression (hash=32089967): Deactivate22.System.Windows.Data Warning: 103 : BindingExpression (hash=32089967): Replace item at level 0 with {NullDataItem}23.System.Windows.Data Warning: 63 : BindingExpression (hash=32089967): Detach

