RadTabControl在swiching tabitems中重新加载内容

时间:2014-07-18 06:15:13

标签: wpf telerik

我正在使用RadTabControl,我在重新加载标签时遇到问题。如果我添加两个选项卡并编辑第一个选项卡内容并转到第二个选项卡并返回第一个选项卡丢失了内容。如果我编辑一些选项卡内容并单击编辑选项卡标题并转到另一个选项卡并返回它绑定并更改上下文。我有一个文本框(内容)丢失的焦点事件,如果我设置断点到丢失焦点事件和运行后我测试所有情况它是好的工作但我需要通过绑定内容文本框与内容属性更改丢失焦点的Note.Content属性。内容属性在Note类中。

xmlns:ec="clr-namespace:WpfControls;assembly=WpfControls" 

<UserControl.Resources>
        <DataTemplate x:Key="TabContent">
            <Grid>
                <ScrollViewer VerticalScrollBarVisibility="Auto">
                    <TextBox  Text="{Binding Content}" Name="ContentTextBox" MinLines="5" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" TextWrapping="Wrap" AcceptsReturn="True"/>
                </ScrollViewer>
            </Grid>
        </DataTemplate> 
    </UserControl.Resources>

 <Grid Grid.Column="3" HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
            <ec:NoteBook x:Name="uiNotebook" TabContentTemplate="{StaticResource TabContent}" Margin="30" HorizontalAlignment="Stretch" VerticalAlignment="Stretch"/>
        </Grid>


 public DataTemplate TabContentTemplate
        {
            get { return (DataTemplate)GetValue(TabContentTemplateProperty); }
            set { SetValue(TabContentTemplateProperty, value); }
        }

        // Using a DependencyProperty as the backing store for ContentTemplate.  This enables animation, styling, binding, etc...
        public static readonly DependencyProperty TabContentTemplateProperty =
            DependencyProperty.Register("TabTemplate", typeof(DataTemplate), typeof(NoteBook), new PropertyMetadata(null));

任何人都可以帮助我吗?谢谢Jamshed

1 个答案:

答案 0 :(得分:3)

经过长时间的研究,我找到答案,我想分享。它是IsContentPreserved属性,我把它设置为true,它有效!

<telerik:RadTabControl x:Name="tabControl" IsContentPreserved="True" ItemsSource="{Binding Tabs}">