Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/306.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在gridcontrol devexpress中添加popupcontainer编辑_C#_Wpf_Mvvm_Devexpress - Fatal编程技术网

C# 如何在gridcontrol devexpress中添加popupcontainer编辑

C# 如何在gridcontrol devexpress中添加popupcontainer编辑,c#,wpf,mvvm,devexpress,C#,Wpf,Mvvm,Devexpress,我正在使用MVVM设计模式在WPF中开发一个应用程序。因此,在我的一个用户控件中,我有一个gridcontrol devexpress。此gridcontrol绑定到我的viewmodel类中的datatable。例如,我的数据表的列是开始日期、结束日期、值、注释。现在,在注释列中,我希望在gridcontrol中显示一个弹出式容器。可以这样做吗?首先将以下内容添加到xaml名称空间中 xmlns:dxe=http://schemas.devexpress.com/winfx/2008/xaml

我正在使用MVVM设计模式在WPF中开发一个应用程序。因此,在我的一个用户控件中,我有一个gridcontrol devexpress。此gridcontrol绑定到我的viewmodel类中的datatable。例如,我的数据表的列是开始日期、结束日期、值、注释。现在,在注释列中,我希望在gridcontrol中显示一个弹出式容器。可以这样做吗?

首先将以下内容添加到xaml名称空间中 xmlns:dxe=http://schemas.devexpress.com/winfx/2008/xaml/editors

您可以使用GridColumn.EditSettings在编辑器中编辑或查看单元格,如下所示:

U:对于最后一条评论,请使用dxe:PopubaseEditSettings和ControlTemplate


嘿,谢谢,我得到了编辑器,但是有可能在编辑器中添加自定义控件吗?@user3821877当然,你需要使用一个数据模板。好的,数据模板是有意义的。我还没有实现自定义控件,目前正在将其直接添加到xaml中。所以基本上我想把所有控件包装在一个弹出式容器中,而wpf似乎没有。我的数据模板目前由两行两列的网格组成。第0行的标签col=0,第0行的文本框col=1,依此类推。但这会导致整个网格显示在gridcontrol单元格中。是否有某种类型的弹出控件将包含整个网格?此解决方案有效。但是,当我尝试触发控件模板中声明的事件时,找不到该方法。无法直接在控件模板中连接事件,easist方法是命名要与PART_连接的控件,并在视图中处理ContentRendered事件,并使用它将事件处理程序连接到ContentTemplate中的控件,以找到调用Template.FindNamePART_的控件,Controltype和使用+=将事件处理程序连接到该控件
<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>
<dxg:GridColumn FieldName="fieldname">
   <dxg:GridColumn.CellTemplate>
        <DataTemplate>
            <youcontrolnamespace:someCustomControl x:Name="PART_Editor"/>
        </DataTemplate>
    </dxg:GridColumn.CellTemplate>
</dxg:GridColumn>
<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>