私のXAMLはWPFのデータグリッドにデータテーブル結合しますXAMLで作成した元の3列に加えて、3つの新しい列(Load、PF、Spar)を追加しました。問題は、次のように
VB.netコードをXAMLデータグリッドにバインドするにはどうすればよいですか?
はここでここで私はマルコのコメント以下の修正コードであるエドのコード
次のスクリーンショットです。
<Window x:Class="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:Datagrid_Binding"
mc:Ignorable="d"
Title="MainWindow" Height="350" Width="525">
<Grid>
<DataGrid x:Name="WaterfallDataGrid" HorizontalAlignment="Left" Height="170" Margin="85,65,0,0" VerticalAlignment="Top" Width="340" AutoGenerateColumns="False"/>
<Button x:Name="button" Content="Button" HorizontalAlignment="Left" Height="25" Margin="380,255,0,0" VerticalAlignment="Top" Width="45"/>
</Grid>
</Window>
そして、これは、データグリッドは、すべてのデータが表示されませんVBコード
Class MainWindow
Private Sub button_Click(sender As Object, e As RoutedEventArgs) Handles button.Click
Dim dt3 As New DataTable("Waterfall")
dt3.Columns.Add("Load")
dt3.Columns.Add("PF")
dt3.Columns.Add("Spare")
'dt3.rows.add(New Object() {"full load", "0.8", "20%"})
dt3.Rows.Add("full load", "0.8", "20%")
WaterfallDataGrid.ItemsSource = dt3.DefaultView
End Sub
End Class
です。何とか折りたたまれた行が表示されます。スクリーンショットは、次のように:
私は、問題は私がいない場合はXAMLの列を事前に定義されたと私はそこに、vb.net内の行を定義したが、まだautogeneratecolumnがfalseに設定されていることだと思いますVBで実行時にプログラムで列を作成する方法はないので、ここで私が見ているのは折りたたまれた行です。
私は、XAMLの列をあらかじめ定義しておき、データをXAML列にバインドすることを考えていますが、コードのどれもが動作しないと思います....本当にイライラします。
私は今、あなたのコードをテストすることだし、それはあなたがそれを掲示まったく同じように機能します。私は匿名のオブジェクトについての間違った提案であなたの時間を無駄にして謝罪します。残念ながら、問題の原因となっている何かがここに存在しているに違いありませんが、問題を再現するのに十分な大きさのコードサンプルを見なければ、何がわかるかわかりません。 –
...「Objecet」と「itemSource」のタイプミスを修正しましたが、注意してください。しかし、それは固定されていなくてもコンパイルされませんので、ここでコードを再入力したときに、それらがうまくいかなければならないと思います。 –
申し訳ありません。それは私のタイプミスでしたが、それ以外の場合はコンパイルされないので、VSにはタイプミスはありません。 – Tofulover