2010-10-23 75 views
0

我想要做的事情應該很簡單,但認爲我只是沒有看到答案。DevExpress WPF網格綁定到列表<String>使用MVVM

我有一個列表與幾個字符串。

我想將它綁定到DevExpress DXGrid。

看起來網格顯示正確的行數,但不顯示我的文本。

我正在使用MVVm模板,並分離了我的ViewModel和View。

感謝您的幫助。

這裏是XAML代碼:

 <dxg:GridControl Grid.Row="0" DataSource="{Binding Path=ErrorLog}" > 
      <dxg:GridControl.Columns> 
      <dxg:GridColumn Header="Error Log" AllowEditing="False" /> 
      </dxg:GridControl.Columns> 
      <dxg:GridControl.View> 
      <dxg:TableView NewItemRowPosition="None" /> 
      </dxg:GridControl.View> 
    </dxg:GridControl> 

這裏是視圖模型代碼:

private List<string> _errorLog; 
public List<string> ErrorLog 
{ 
    get { return _errorLog; } 
    set 
    { 
    _errorLog = value; 
    OnPropertyChanged("ErrorLog"); 
    } 
} 

回答

1

沒有指定列應顯示什麼,所以它不會顯示任何內容...

<dxg:GridColumn Header="Error Log" AllowEditing="False" DisplayMemberBinding="{Binding}" /> 

(注意,沒有綁定的路徑:列綁定到字符串本身,而不是一個memb字符串的ER)

+0

喜托馬斯,這就是我去了預訂。謝謝。 – SetiSeeker 2010-10-23 14:53:16

2

不工作..用這個代替

<dxg:GridColumn Header="Value"> 
    <dxg:GridColumn.DisplayMemberBinding> 
    <Binding Path="RowData.Row"/> 
    </dxg:GridColumn.DisplayMemberBinding> 
</dxg:GridColumn> 
2

GridColumn.DisplayMemberBinding現在被標記爲過時。建議應該使用Binding屬性。

<dxg:GridControl.Columns> 
    <dxg:GridColumn Header="Value" Binding="{Binding RowData.Row}"> 
<dxg:GridControl.Columns> 

ColumnBase.DisplayMemberBinding Property