DevExpress WPF 网格绑定到 List使用MVVM

发布于 2024-09-28 21:29:20 字数 870 浏览 5 评论 0原文

我想做一些应该很简单的事情,但我认为我只是没有看到答案。

我有一个包含多个字符串的列表。

我想将它绑定到 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");
  }
}

I am trying to do something that should be simple, but think I am just not seeing the answer.

I have a List with several strings.

I would like to bind it to a DevExpress DXGrid.

It appears that the grid is showing the correct number of row, but not displaying my text.

I am using the MVVm patern and have seperated my ViewModel and View.

Thanks for the help.

Here is the XAML code:

     <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>

Here is the View Model Code:

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

谈下烟灰 2024-10-05 21:29:21

GridColumn.DisplayMemberBinding 现在被标记为已过时。建议改用 Binding 属性。

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

ColumnBase.DisplayMemberBinding 属性

GridColumn.DisplayMemberBinding is now marked as obsolete. It is suggested that the Binding property should be used instead.

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

ColumnBase.DisplayMemberBinding Property

素罗衫 2024-10-05 21:29:21

那不起作用..用这个代替

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

that doesn't work.. use this instead

<dxg:GridColumn Header="Value">
   <dxg:GridColumn.DisplayMemberBinding>
    <Binding Path="RowData.Row"/>
    </dxg:GridColumn.DisplayMemberBinding>
</dxg:GridColumn>
时光倒影 2024-10-05 21:29:21

您没有指定列应显示的内容,因此它不显示任何内容...

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

(请注意,没有绑定的路径:列绑定到字符串本身,而不是字符串的成员)

You didn't specify what the column should display, so it's not displaying anything...

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

(note that there is not path for the binding: the column is bound to the string itself, not a member of the string)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文