2016-02-19 45 views
0

我想從數據庫中自動加載一些數據,以便在加載新窗口時填充一些文本框和組合框。如何從數據庫中填充WPF窗口

例如,當我點擊window1一個按鈕,窗口1會顯示一個新的窗口window2並傳遞一個IDwindow2(ID需要查詢數據庫)。 我該怎麼做?

感謝,

回答

0

這僅僅是一個你可以做什麼很簡單的例子:

MainWindow.xaml

<Window x:Class="WpfApplication1.MainWindow" 
     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
     Title="MainWindow" Height="350" Width="525"> 
    <Grid> 
     <Button Name="btn1" Click="btn1_Click" Content="Button" Margin="10,10,361,283"></Button> 
    </Grid> 
</Window> 

MainWindow.xaml.cs

private void btn1_Click(object sender, RoutedEventArgs e) 
     { 
      Window2 win2 = new Window2(1); 
      win2.Show(); 
     } 

Window2.xaml

<Window x:Class="WpfApplication1.Window2" 
     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
     Title="Window2" Height="300" Width="300"> 
    <Grid Margin="0,0,170,249"> 
     <TextBox Name="txtBox1" Margin="18,160,-18,-173"></TextBox> 
     <TextBox Name="txtBox2" Margin="18,119,-18,-134"></TextBox> 
     <TextBox Name="txtBox3" Margin="18,76,-18,-93"></TextBox> 
     <TextBox Name="txtBox4" Margin="18,36,-18,-50"></TextBox> 
    </Grid> 
</Window> 

Window2.xaml.cs

public partial class Window2 : Window 
    { 
     public Window2(int Id) 
     { 
      InitializeComponent(); 
      ReadDataFromDB(Id); 
     } 

     public void ReadDataFromDB(int Id) 
     { 

      //read your data 
      txtBox1.Text = "Some value 1"; 
      txtBox2.Text = "Some value 2"; 
      txtBox3.Text = "Some value 3"; 
      txtBox4.Text = "Some value 4"; 
     } 
    } 
+0

感謝這個例子......這正是我需要的 – BMA

1

1)創建在UI元素窗口

2)創建一個帶有必填字段的模型類。

3)單擊window1中的 按鈕將ID傳遞給下一個窗口的構造函數。

4)。使用id根據您的需要查詢數據庫。獲取結果 並將字段綁定到UI元素值。

5)。這些數據庫查詢和所有可寫在您的 構造函數或窗口加載事件。

您可以使用MVVM來完成此操作。無需編寫用於將值設置爲ui的多餘代碼。