【发布时间】:2015-03-28 22:00:14
【问题描述】:
我正在使用 MVVM 设计模式在 WPF 中开发应用程序。因此,在我的一个用户控件中,我有一个 gridcontrol (devexpress)。此网格控件绑定到我的 viewmodel 类中的数据表。例如,我的数据表的列是开始日期、结束日期、值、cmets。现在在 cmets 列中,我希望在我的 gridcontrol 中出现一个弹出容器。有可能吗?
【问题讨论】:
标签: c# wpf mvvm devexpress
我正在使用 MVVM 设计模式在 WPF 中开发应用程序。因此,在我的一个用户控件中,我有一个 gridcontrol (devexpress)。此网格控件绑定到我的 viewmodel 类中的数据表。例如,我的数据表的列是开始日期、结束日期、值、cmets。现在在 cmets 列中,我希望在我的 gridcontrol 中出现一个弹出容器。有可能吗?
【问题讨论】:
标签: c# wpf mvvm devexpress
首先将以下内容添加到您的 xaml 命名空间
xmlns:dxe="http://schemas.devexpress.com/winfx/2008/xaml/editors"
您可以使用GridColumn.EditSettings 在编辑器中编辑或查看单元格,如下所示在您的<dxg:GridControl> 中
<dxg:GridControl.Columns >
<dxg:GridColumn FieldName="begindate">
<dxg:GridColumn.EditSettings>
<dxe:DateEditSettings/>
</dxg:GridColumn.EditSettings>
</dxg:GridColumn>
<dxg:GridColumn FieldName="enddate">
<dxg:GridColumn.EditSettings>
<dxe:DateEditSettings/>
</dxg:GridColumn.EditSettings>
</dxg:GridColumn>
<dxg:GridColumn FieldName="value"/>
<dxg:GridColumn FieldName="comment">
<dxg:GridColumn.EditSettings>
<dxe:MemoEditSettings/>
</dxg:GridColumn.EditSettings>
</dxg:GridColumn>
</dxg:GridControl.Columns>
在旁注中使用ObservableCollection<T>。
U:要为列自定义控件,请使用DataTemplate
<dxg:GridColumn FieldName="fieldname">
<dxg:GridColumn.CellTemplate>
<DataTemplate>
<youcontrolnamespace:someCustomControl x:Name="PART_Editor"/>
</DataTemplate>
</dxg:GridColumn.CellTemplate>
</dxg:GridColumn>
U:对于您的最后一条评论,请使用 dxe:PopupBaseEditSettings 和 ControlTemplate
<dxg:GridColumn FieldName="fieldname">
<dxg:GridColumn.EditSettings>
<dxe:PopupBaseEditSettings>
<dxe:PopupBaseEditSettings.PopupContentTemplate>
<ControlTemplate>
<!--Your Controls to popup here-->
</ControlTemplate>
</dxe:PopupBaseEditSettings.PopupContentTemplate>
</dxe:PopupBaseEditSettings>
</dxg:GridColumn.EditSettings>
</dxg:GridColumn>
【讨论】: