2011-08-08 27 views
0

我知道一種方法來執行一個字符串到一個TextBox的MVC綁定。這就是它可以做到:如何在使用MVC時綁定WPF中的網格?

C#:

namespace WpfApplication4 
{ 
    public partial class MainWindow : Window 
    { 
     public MainWindow() 
     { 
      InitializeComponent(); 
      DataContext = Model; 
     } 

     public ModelClass Model = new ModelClass(); 

     private void button1_Click(object sender, RoutedEventArgs e) 
     { 
      Model.Output += "Setting New Output! "; 
     } 

     public class ModelClass : INotifyPropertyChanged 
     { 
      string _output; 
      public event PropertyChangedEventHandler PropertyChanged = 
         delegate { };  
      public string Output 
      { 
       get { return _output; } 
       set { _output = value; 
        PropertyChanged(this, 
            new PropertyChangedEventArgs("Output")); 
       } 
      } 
     } 
    } 
} 

XAML:

<Window x:Class="WpfApplication4.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 Content="Button" VerticalAlignment="Top" 
       Name="button1" Click="button1_Click" /> 
     <TextBox VerticalAlignment="Bottom" 
        Name="textBox1" Text="{Binding Path=Output}" /> 
    </Grid> 
</Window> 

但我無法找到綁定一個二維數組的方式(或列表)到網格或數據網格。你能幫我嗎?我無法在SO上找到一個可行的例子。

回答

1

考慮使用DataGrid來顯示您的二維數組,假設您可以將數據存儲爲List<ColumnData>其中ColumnData是一個類,每個數據表列有一個屬性。

WPF SDK包含一個DataGrid,並且有幾個供應商提供的數據網格具有附加功能。

+0

但我該如何做綁定? –

+0

列可以是自動生成的,也可以按順序明確定義哪些字段。查看DataGrid示例瞭解更多關於如何入門的信息。 –

1

如果你想將數據綁定到數據網格,你應該閱讀以下內容。

ICollectionView,BindingListCollectionView

,如果你有收藏的somekind的,你只需設置的ItemsSource。

<DataGrid ItemsSource="{Binding Path=MyCollection, Mode=OneWay}" /> 

集合類型大多是ObservableCollection或DataSet/DataTable。如果你的集合支持編輯等,你可以用datagrid來完成。