我对WPF很新。在使用C#的.NET 3.5上,我想在TabItem中构建一个WPF应用程序,包括Syncfusion的GridDataControl。 GridDataControl应该通过以' *'的倍数指定列宽来自动调整大小。这在第一次启动应用程序后工作正常。但是在切换标签并再次切换后,调整大小被破坏并且网格控件的大小保持固定。这是我的xaml代码:
<Window x:Class="SyncfusionGridData.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:SyncfusionGridData"
xmlns:syncfusion="http://schemas.syncfusion.com/wpf"
mc:Ignorable="d"
Title="MainWindow" Height="500" Width="525" DataContext="{Binding RelativeSource={RelativeSource Self}}">
<Grid>
<TabControl>
<TabItem Header="Tab1">
<Grid Name="layoutRoot">
<syncfusion:GridDataControl x:Name="dataGrid"
AutoPopulateColumns="False"
ShowAddNewRow="False"
ItemsSource="{Binding GDCSource}">
<syncfusion:GridDataControl.VisibleColumns>
<syncfusion:GridDataVisibleColumn Width="*"
HeaderText="ContactName"
MappingName="ContactName">
</syncfusion:GridDataVisibleColumn>
<syncfusion:GridDataVisibleColumn Width="*"
HeaderText="ContactTitle"
MappingName="ContactTitle">
</syncfusion:GridDataVisibleColumn>
</syncfusion:GridDataControl.VisibleColumns>
</syncfusion:GridDataControl>
</Grid>
</TabItem>
<TabItem Header="Tab2">
<Label Content="2" />
</TabItem>
</TabControl>
</Grid>
其中&#39; GDCSource&#39;是一个ObservableCollection&#39; Person&#39;和&#39;人物&#39;拥有属性&#39; ContactName&#39;和&#39; ContactTitle&#39;。
我尝试使用Syncfusion自己的标签控件(TabControlExt),但这显示了相同的行为。不指定ItemsSource属性并仅显示标题行显示正确的大小调整。
我真的不知道这可能与什么有关。谢谢你的帮助!
答案 0 :(得分:0)
一旦GridDataControl被卸载,AutoSizing就会失败。 将以下属性添加到TabControlExt以防止在加载后删除选项卡。
IsDisableUnloadTabItemExtContent="True"