the XAML as below:
Code: Select all
<Page
x:Class="ht5test.MainPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="using:ht5test"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d">
<TabControl>
<TabItem Header="aaa">
<ScrollViewer VerticalScrollBarVisibility="Auto">
<StackPanel>
<DataGrid x:Name="_grid" Grid.Row="0" AutoGenerateColumns="False">
<DataGrid.Columns>
<DataGridTextColumn Binding="{Binding f1}" Header="f1"/>
<DataGridTextColumn Binding="{Binding f2}" Header="f2"/>
<DataGridTextColumn Binding="{Binding f3}" Header="f3"/>
</DataGrid.Columns>
</DataGrid>
<Grid Height="67" Grid.Row="1">
<Button x:Name="_bt" Content="Button" HorizontalAlignment="Left" Margin="9,14,0,0" VerticalAlignment="Top" Width="75" Click="button_Click"/>
<TextBlock x:Name="_txt" Text="Button" HorizontalAlignment="Left" Margin="9,50,0,0" VerticalAlignment="Top" />
</Grid>
</StackPanel>
</ScrollViewer>
</TabItem>
<TabItem Header="bb">
<TextBlock>aabbbss</TextBlock>
</TabItem>
</TabControl>
</Page>
and the code is below
Code: Select all
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.IO;
using System.Linq;
using Windows.UI.Xaml;
using Windows.UI.Xaml.Controls;
namespace ht5test
{
public partial class MainPage : Page
{
ObservableCollection<DItem> _data = new ObservableCollection<DItem>();
public MainPage()
{
this.InitializeComponent();
for (int i = 0; i < 3; i++)
{
_data.Add(new DItem() { f1 = "aa" + i, f2 = "bb", f3 = "cc" });
}
_grid.ItemsSource = _data;
}
private void button_Click(object sender, RoutedEventArgs e)
{
_data.Add(new DItem() { f1 = "aa", f2 = "bb", f3 = "cc" });
_txt.Text = string.Join(", ", _data.Select(x => x.f1).ToArray());
}
}
class DItem
{
public string f1 { get; set; }
public string f2 { get; set; }
public string f3 { get; set; }
}
}
it reports error when I switched the two tabs in 2 times.
and another bug is when the program starts, the initial view does not show the first tab