我正在使用RadTabControl,但在重新加载选项卡时遇到问题。如果我添加两个选项卡并编辑第一个选项卡内容,然后转到第二个选项卡,然后返回第一个选项卡,则会丢失内容。如果我编辑一些选项卡内容并单击编辑的选项卡标题并转到另一个选项卡并返回,它会绑定并更改上下文。如果我将断点设置为丢失焦点事件,并且在运行后测试所有情况,它工作良好,但我需要通过将内容文本框与内容属性绑定来更改丢失焦点中的 Note.Content 属性,我有一个文本框(内容)的丢失焦点事件。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));
Run Code Online (Sandbox Code Playgroud)
有谁能够帮助我?谢谢詹姆谢德
经过长时间的研究,我找到了答案,我想分享它。它是IsContentPreserved属性,我将其设置为 true,它有效!
<telerik:RadTabControl x:Name="tabControl" IsContentPreserved="True" ItemsSource="{Binding Tabs}">
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
854 次 |
| 最近记录: |