我是来自VB.NET和WinForms的WPF和XAML的新手,所以如果这篇文章关闭我会道歉。我正在尝试将多个sql绑定数据表设置到其中包含网格的堆栈面板中。堆栈面板有一个网格,我当时希望放置多个数据表,以便它可以是一个" row"数据表。我遇到了一个问题,其中每个数据表的条目多于数据表的空间,并且没有滚动条。我尝试使用滚动查看器,但没有成功,到目前为止我找到的所有帖子都无法帮助我,因为他们将迫使我重新创建我的xaml树。到目前为止,这是我的代码。
------ ------- XAML
<Window x:Class="Lines.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="251.7" Width="1058">
<Grid x:Name="GridMain">
<StackPanel x:Name="StackMain" HorizontalAlignment="Left" Height="100" Margin="10,10,0,0" VerticalAlignment="Top" Width="1030" >
<TextBlock FontSize="18" Foreground="Black" FontWeight="Bold" Text="Line 2" HorizontalAlignment="Center" />
<Grid x:Name="Line2Information">
<ScrollViewer x:Name="SVLine2HotParts" HorizontalAlignment="Left">
<DataGrid x:Name="DGLine2HotParts">
</DataGrid>
</ScrollViewer>
</Grid>
</StackPanel>
</Grid>
--------------------------- C#----------------
//SQL command fill
SqlConnection conn = new SqlConnection(Connectionstring);
SqlDataAdapter da = new SqlDataAdapter("SELECT * from Table", conn);
DataTable ds = new DataTable();
da.Fill(ds);
Datagrid.ItemsSource = ds.DefaultView;
所以在XML中你可以看到我有一个带有位置的文本块,然后是下一个&#34; Row&#34;我将设置多个数据表,希望沿着网格。有什么帮助吗?
答案 0 :(得分:1)
你在这里提出了一个非常广泛的问题。我想你应该对MVVM做一些研究。它有助于构建WPF设计。一般的想法是将XAML中的元素(在View中)绑定到ViewModel中的公共属性。然后对属性的更改会导致元素更改,从而导致UI更改。模型包含数据,并涉及从数据库获取数据。您可能在绑定到Datagrid的ViewModel中具有ObservableCollection类型的属性。 ViewModel将从Model填充ObservableCollection。使用MVVM,你几乎没有代码。关于你的&#34; SQL命令填写的一条评论&#34;,我假设这是在你的代码背后。您需要引用DGLine2HotParts.Datacontext或DGLine2HotParts.ItemSource来向网格添加数据。这是一个尝试指出你在一个特定的方向而不是一个全面的答案。