
Hi
In my application each thread is implemented in its own thread like:
public void OpenPartViewer(AbstractPart part) {   Thread newWindowThread = new Thread(new ThreadStart(ThreadStartingPoint));   newWindowThread.SetApartmentState(ApartmentState.STA);   newWindowThread.IsBackground = true;   newWindowThread.Start();   part_ = part; }   private void ThreadStartingPoint() {   // Create a new window   PartViewerMainWindow win = new PartViewerMainWindow(part_);   win.Closed += (sender1, e1) => win.Dispatcher.InvokeShutdown();   win.Show();   // Start the new window's Dispatcher   System.Windows.Threading.Dispatcher.Run(); }In one of the dialogs I previously used a ContentControl which I now want to replace with a RadTransitionControl like the above.
<telerik:RadTransitionControl x:Name="PartViewerContent" Grid.Column="1" VerticalContentAlignment="Stretch"     HorizontalContentAlignment="Stretch"        Content="{Binding ElementName=TreeView, Path=SelectedItem}"        ContentTemplateSelector="{StaticResource PartViewerContentSelector}"> </telerik:RadTransitionControl>But after changing to RadTransitionControl I get an error when I change selection in the treeview:
The calling thread cannot access this object because a different thread owns it
I asume it is raised because the transitions is rendered in the main thead but I don't know. And more important. Can I do some magic to make it work.
Dim pagedSource = New QueryableCollectionView(GetDataTable().AsEnumerable.ToList)
Me.radDataPager.Source = pagedSource
Me.radGridView.ItemsSource = pagedSource
XAML
<StackPanel 
    Orientation="Horizontal" 
    HorizontalAlignment="Center" 
    Margin="0,5,0,0">
<telerik:RadButton 
    Width="150" 
    Content="Add new row" 
    Margin="0,0,5,0" 
    Command="telerikGrid:RadGridViewCommands.BeginInsert" 
    CommandTarget="{Binding ElementName=RadGridView}" />
</StackPanel>
<telerik:RadDataPager 
    x:Name="radDataPager" 
    PageSize="10" 
    DisplayMode="All" 
    IsTotalItemCountFixed="false" 
    VerticalContentAlignment="Bottom"
</telerik:RadDataPager>
<telerik:RadGridView 
    x:Name="radGridView" 
    ItemsSource="{Binding PagedSource, ElementName=radDataPager}" 
    VerticalAlignment="Top" 
    CanUserDeleteRows="False" 
    CanUserInsertRows="True" 
    CanUserReorderColumns="False" 
    ShowGroupPanel="False" 
    AutoGenerateColumns="False" 
    ShowInsertRow="True">
</telerik:RadGridView>
For Each fds As FilterDescriptorSetting In setting.SelectedDistinctValues    Dim fd As New Telerik.Windows.Data.FilterDescriptor()    fd.Member = fds.Member    fd.[Operator] = fds.[Operator]    fd.Value = fds.Value    cfd.DistinctFilter.FilterDescriptors.Add(fd)NextMe.grid.FilterDescriptors.Add(cfd)<Window x:Class="DBAppBestPractice.MainWindow"                xmlns:Examples="clr-namespace:DBAppBestPractice"                xmlns:telerik="http://schemas.telerik.com/2008/xaml/presentation"                xmlns:telerikGrid="clr-namespace:Telerik.Windows.Controls;assembly=Telerik.Windows.Controls.GridView"                x:Name="root"                 DataContext="{Binding Main, Source={StaticResource Locator}}"                >    <Window.Resources>        <ResourceDictionary>            <ResourceDictionary.MergedDictionaries>                <ResourceDictionary Source="Skins/MainSkin.xaml" />            </ResourceDictionary.MergedDictionaries>        </ResourceDictionary>    </Window.Resources>         <Grid>        <Grid.RowDefinitions>            <RowDefinition Height="Auto" />            <RowDefinition />        </Grid.RowDefinitions>        <Border  Grid.RowSpan="2" />        <StackPanel Orientation="Horizontal" HorizontalAlignment="Center" Margin="0,5,0,0">            <telerik:RadButton Width="150" Content="Delete selected rows" Margin="0,0,5,0"                                 Command="telerikGrid:RadGridViewCommands.Delete" CommandTarget="{Binding ElementName=RadGridView1}"  />            <telerik:RadButton Width="150" Content="Add new row" Margin="0,0,5,0"                                 Command="telerikGrid:RadGridViewCommands.BeginInsert" CommandTarget="{Binding ElementName=RadGridView1}"  />            <telerik:RadButton Width="150" Content="Save insert/edit" Margin="0,0,5,0"                                 Command="telerikGrid:RadGridViewCommands.CommitEdit" CommandTarget="{Binding ElementName=RadGridView1}"  />            <telerik:RadButton Width="150" Content="Cancel insert/edit"                                 Command="telerikGrid:RadGridViewCommands.CancelRowEdit" CommandTarget="{Binding ElementName=RadGridView1}"  />        </StackPanel>        <telerik:RadGridView x:Name="RadGridView1"                                                 ItemsSource="{Binding LoadedSuppliers}"                                                 SelectionMode="Extended"                                                 AutoGenerateColumns="False"                                                 Margin="0,5,0,0"                                                 Grid.Row="1"                                                 ActionOnLostFocus="None" RowEditEnded="RadGridView1_RowEditEnded" Deleted="RadGridView1_Deleted">            <telerik:RadGridView.Columns>                <telerik:GridViewColumn>                    <telerik:GridViewColumn.CellTemplate>                        <DataTemplate>                            <telerik:RadButton Content="Delete" Command="telerikGrid:RadGridViewCommands.Delete" CommandParameter="{Binding}" />                        </DataTemplate>                    </telerik:GridViewColumn.CellTemplate>                </telerik:GridViewColumn>                <telerik:GridViewDataColumn DataMemberBinding="{Binding Id}" Header="Id" IsReadOnly="True" />                <telerik:GridViewDataColumn DataMemberBinding="{Binding Name}" Header="Name" />                <telerik:GridViewDataColumn DataMemberBinding="{Binding Description}" Header="Description" />            </telerik:RadGridView.Columns>        </telerik:RadGridView>    </Grid></Window><telerik:RadGridView x:Name="CodeRadGrid" IsReadOnly="False" AutoGenerateColumns="False" SelectionMode="Extended" telerik:StyleManager.Theme="Office_Blue"ItemsSource="{Binding PagedSource, ElementName=ctlDataPager}" ShowInsertRow="True" AddingNewDataItem="CodeRadGrid_AddingNewDataItem"RowEditEnded="CodeRadGrid_RowEditEnded" ><telerik:RadGridView.Columns>   <telerik:GridViewSelectColumn />       <telerik:GridViewDataColumn DataMemberBinding="{Binding aCode}" Header="A Code"/>        <telerik:GridViewDataColumn DataMemberBinding="{Binding bCode}" Header="B Code">    </telerik:GridViewDataColumn> </telerik:RadGridView.Columns> </telerik:RadGridView> <telerik:RadDataPager x:Name="RadDataPager" PageSize="7" DisplayMode="First, Last, Next, Previous, Text" IsTotalItemCountFixed="True" />private void CodeRadGrid_AddingNewDataItem(object sender, Telerik.Windows.Controls.GridView.GridViewAddingNewEventArgs e){    e.NewObject = new CodeObj();}private void CodeRadGrid_RowEditEnded(object sender, GridViewRowEditEndedEventArgs e){    if (e.EditAction == GridViewEditAction.Cancel)    {        return;    }    if (e.EditOperationType == GridViewEditOperationType.Insert)    {        ((List<CodeObj>)this.RadDataPager.Source).Add( (CodeObj) e.NewData);    }}      <telerik:RadGridView  x:Name="Search_RadDG" Margin="5,0" 
                            ItemsSource="{Binding SearchResults}" 
                            SelectionUnit="FullRow" 
                             >
        <telerik:RadGridView.Columns>
          <telerik:GridViewColumn Header="Add Candidate" >
            <telerik:GridViewColumn.CellTemplate>
              <DataTemplate>
                <telerik:RadButton Content="Add" Click="RadButton_Click" />
              </DataTemplate>
            </telerik:GridViewColumn.CellTemplate>
          </telerik:GridViewColumn>
        </telerik:RadGridView.Columns>
</telerik:RadGridView>
VB
 Dim btn As Telerik.Windows.Controls.RadButton
    btn = CType(sender, Telerik.Windows.Controls.RadButton)
    Dim cell As Telerik.Windows.Controls.GridView.GridViewCell
    cell = btn.Parent()
    Dim row As Telerik.Windows.Controls.GridView.GridViewRow
    row = cell.Parent()
    If row IsNot Nothing Then   This is always nothing
      row.IsSelected = True
      Dim can As FoundVoters
      Dim sOffice As String = Nothing
      can = Search_RadDG.CurrentItem
      Dim wcf As New WCF_CommonDataContracts.DataCommon_WCF.WCF_Exception
      With can
        wcf = DistrictData.Candidate_New(StateCbx.SelectedItem,   Countylbx2.SelectedItem,      DistType_lbx.SelectedItem,
                                      ParseDistrictCode(Districts_lbx.SelectedItem), SubDistricts_cbx.SelectedItem,        .Voter_id,
                                            EDate_DP.SelectedDate,             4, sOffice)
      End With
      Candidate_List_Set()
    End If
RadWindow[] window = new RadWindow[5];                for (int i = 0; i < 5; i++)                {                    window[i] = new RadWindow();                                          window[i].Width = 250;                    window[i].Height = 250;                    window[i].Name = "Apples" + i;                    window[i].Show();                }