I have the following problem.
I have a navigation conception that when I navigate to new page, a new RadTabItem is created and the content of the Silverlight Page is loaded in that tab item. Here is my sample xaml:
So I have different URLs for the different tabs. But I have the ability to open 1 Page several times in different tabs. It's working when IsPreservedContent = "False" as default, but that way I cannot open 1 page several times with diffrent context. When I set IsPreservedContent = "True" I am able to open the page several times with different context, but I'm only able to open the first page that I select. When I try to open s.th. else, the first page (that I opened) loads in the tab. I can send you a sample application if needed. I don't know whether this is how it's supposed to work. Can you give me a clue?
I have a navigation conception that when I navigate to new page, a new RadTabItem is created and the content of the Silverlight Page is loaded in that tab item. Here is my sample xaml:
<
UserControl.Resources
>
<
DataTemplate
x:Key
=
"panelBarItemTemplate"
>
<
TextBlock
Text
=
"{Binding Content}"
Tag
=
"{Binding Uri}"
/>
</
DataTemplate
>
</
UserControl.Resources
>
<
telerik:RadTabControl
HorizontalAlignment
=
"Stretch"
Name
=
"radTabControlResultset"
SupressSelectedContentTemplateReapplying
=
"True"
IsContentPreserved
=
"True"
SelectionChanged
=
"radTabControlResultset_SelectionChanged"
>
<
telerik:RadTabControl.ContentTemplate
>
<
DataTemplate
>
<
navigation:Frame
x:Name
=
"ContentFrame"
Source
=
"{Binding NavigateUri}"
UriMapper
=
"{StaticResource SilverlightUriMappings}"
>
</
navigation:Frame
>
</
DataTemplate
>
</
telerik:RadTabControl.ContentTemplate
>
</
telerik:RadTabControl
>
<
telerik:RadPanelBar
Name
=
"panelBarNavigation"
HorizontalAlignment
=
"Left"
ItemTemplate
=
"{StaticResource panelBarItemTemplate}"
ItemClick
=
"panelBarNavigation_ItemClick"
>
</
telerik:RadPanelBar
>
#region class definitions
public
class
Navigation
{
public
object
Content {
get
;
set
; }
public
object
Uri {
get
;
set
; }
}
public
class
TabItem
{
public
object
NavigateUri {
get
;
set
; }
}
#endregion
#region Code Behind
public
List<Navigation> NavSource {
get
;
set
; }
public
ObservableCollection<TabItem> TabItems {
get
;
set
; }
panelBarNavigation.ItemsSource = NavSource;
radTabControlResultset.ItemsSource = TabItems;
private
void
panelBarNavigation_ItemClick(
object
sender, Telerik.Windows.RadRoutedEventArgs e)
{
var uri =
new
Uri(((Navigation)((RadPanelBarItem)e.OriginalSource).Header).Uri.ToString(), UriKind.RelativeOrAbsolute);
var newItem =
new
TabItem{NavigateUri = uri};
TabItems.Add(newItem);
}
#endregion
So I have different URLs for the different tabs. But I have the ability to open 1 Page several times in different tabs. It's working when IsPreservedContent = "False" as default, but that way I cannot open 1 page several times with diffrent context. When I set IsPreservedContent = "True" I am able to open the page several times with different context, but I'm only able to open the first page that I select. When I try to open s.th. else, the first page (that I opened) loads in the tab. I can send you a sample application if needed. I don't know whether this is how it's supposed to work. Can you give me a clue?