Silverlight 3では、基本的なデータグリッドが生成されていますが、DataGridには空の行が4つ表示されています。Silverlight:DataGridで空の行が表示されるのはなぜですか?
page.xamlおよびpage.xaml.csのコードスニペットは次のとおりです。
コードビハインドをステップ実行したときに、Webサービスが正しくリストされたリストを返すため、e.Resultsが4のカウントを表示し、DataGridが4つの空の行を表示するため、データがe.Resultsに正しく含まれていると思います。 。 (私はまだ正確にe.Resultsであるかを確認する方法を考え出したていない)
ここではpage.xaml.cs内の関連するコードです。ここで
void Page_Loaded(object sender, RoutedEventArgs e)
{
Service1Client service = new Service1Client();
service.GetAccountsCompleted += new
EventHandler<GetAccountsCompletedEventArgs>(service_GetAccountsCompleted);
service.GetAccountsAsync();
}
void service_GetAccountsCompleted(object sender, GetAccountsCompletedEventArgs e)
{
this.grdData.ItemsSource = e.Result;
}
は、DataGridのXAML定義です:
<UserControl xmlns:data="clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls.Data" x:Class="BegSilver.Page"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Width="400" Height="300">
<Grid x:Name="LayoutRoot" Background="White">
<data:DataGrid x:Name="grdData" Margin="15" AutoGenerateColumns="False">
<data:DataGrid.Columns>
<data:DataGridTextColumn Binding="{Binding acpk}" Header="acpk"></data:DataGridTextColumn>
<data:DataGridTextColumn Binding="{Binding acctnumber}" Header="acctnumber"></data:DataGridTextColumn>
<data:DataGridTextColumn Binding="{Binding name}" Header="name"></data:DataGridTextColumn>
<data:DataGridTextColumn Binding="{Binding type}" Header="type"></data:DataGridTextColumn>
</data:DataGrid.Columns>
</data:DataGrid>
</Grid>
</UserControl>
ご協力いただければ幸いです。
は4行が実際に空になっているか、多分、前景と背景が同じセットのようなものがあるであることを確認しています。私は十分な時間を過ごしました。また、それは重要ではありませんが、それらのタグは自動的に閉じるので、終了タグではなく最後に/>を使用できます。 – Godeke