WPF + DevExpress学习07

这篇具有很好参考价值的文章主要介绍了WPF + DevExpress学习07。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Prism 子界面和父界面相互传值

1 首先需要创建一个子界面 名称 AddTaskDialog 和 ViewModels文章来源地址https://www.toymoban.com/news/detail-525448.html

<UserControl x:Class="GanttProject.Views.AddTaskDialog"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             xmlns:prism="http://prismlibrary.com/" xmlns:dxg="http://schemas.devexpress.com/winfx/2008/xaml/grid"
             prism:ViewModelLocator.AutoWireViewModel="True"
              Width="401" MinWidth="401" MaxWidth="401"
             Padding="10"
             >
    <Grid>
    </Grid>
</UserControl>
AddTaskDialogViewModel 继承 IDialogAware
public class AddTaskDialogViewModel : BindableBase,IDialogAware{
    public string Title => "添加任务";
public event Action<IDialogResult> RequestClose;
  public bool CanCloseDialog()
        {
            return true;
        }

        public void OnDialogClosed()
        {
            MessageBox.Show("窗口关闭了!");
        }
          public DelegateCommand BtnCloseCommand
         {
            get => new DelegateCommand(() =>
            {
                DialogParameters dialogParameters = new DialogParameters();
          		 // 向父级页面 传参数 dialogParameters  key value 形式的
                 // 关闭当前窗口
                 RequestClose?.Invoke(new DialogResult(ButtonResult.OK, dialogParameters));
            });
        }
          public void OnDialogOpened(IDialogParameters parameters)
        {
         	// 刚打开界面时候的操作 可以获取父页面给子页面传的值
            MessageBox.Show($"窗口打开了!" + "\n" +
               
               $"{parameters.GetValue<string>("456")}"
               );
        }
 }
 去注册一些弹窗 App 或者模块加载的地方注册
   containerRegistry.RegisterDialog<AddTaskDialog>();
MainWindows 父级页面的ViewModel
 注入 _dialogService
 public Prism.Services.Dialogs.IDialogService _dialogService;
  void  showAddTaskDialog()
        {
            DialogParameters dialogParameters = new DialogParameters();
			// 要传递的参数
            dialogParameters.Add("456", "asdf");
             // 弹窗的名称 AddTaskDialog
            _dialogService.ShowDialog("AddTaskDialog", dialogParameters, DoDialogResult);
        }
        后续在绑定给 Command 就可以了

WPF Dev TreeListControl CheckBox 获取被选中的值

    <dxg:TreeListControl   DockPanel.Dock="Top"
                                       SelectionMode="Row"
                                    ItemsSource="{Binding AddTasks}"  
                                  
                                     
                                            >

                <dxg:TreeListControl.Columns   >
                    <dxg:TreeListColumn  FieldName="TaskName" Header="任务名称" MaxWidth="401" />
                </dxg:TreeListControl.Columns>
                <dxg:TreeListControl.View  >
                    <dxg:TreeListView x:Name="view"
                                
                                
                                  KeyFieldName="Id"
                                  ParentFieldName="ParentId"
                                  AutoWidth="True"
                                  ShowCheckboxes="True"
                                 SkipDisabledCheckBoxesOnRecursiveNodeChecking="True"
                                  // 配置 字段 对于 Model的 字段
                                 CheckBoxFieldName="IsSelect"
                                AllowPerPixelScrolling="True"
                                // 选择子项模式 可以自己配置试试
                                AllowRecursiveNodeChecking="True"
                               AllowScrollAnimation="True"
                               AllowPrintColumnHeaderImage="True" 
                                  ShowFixedTotalSummary="False"                                
                                 
                                  >

                    </dxg:TreeListView>
                </dxg:TreeListControl.View>
Model
public class AddTaskModel
    {
        public int Id { get; set; }
        public string TaskName { get; set; }
        public int ParentId { get; set; }
         
        public bool IsSelect { get; set; }
    }
    private ObservableCollection<AddTaskModel> addTasks;
        public ObservableCollection<AddTaskModel> AddTasks
        {
            get => addTasks ?? (addTasks = new ObservableCollection<AddTaskModel>());
            set { SetProperty(ref addTasks, value); }
        }

到了这里,关于WPF + DevExpress学习07的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • DevExpress WPF的电子表格组件,让您更快获得Excel体验(二)

    DevExpress WPF的Spreadsheet控件拥有读取、写入、转换XLSx、XLS、CSV和TXT文件的功能,并且为终端用户提供了当今最流行的办公生产力套件才能获得的UI体验。它包括与Ribbon UI的完全集成,因此开发者可以以最小的代价交付受MS Excel启发的功能。 在上文中(点击这里回顾)我们介绍

    2024年02月06日
    浏览(32)
  • DevExpress WPF功能区控件,更轻松创建商业应用工具栏!(下)

    在上文中(点击这里回顾),我们主要介绍了DevExpress WPF的Ribbon、Toolbar和Menus组件支持MVVM、功能区命令栏和视图等,本文将继续介绍这些组件的自定义功能等。 DevExpress WPF拥有120+个控件和库,将帮助您交付满足甚至超出企业需求的高性能业务应用程序。通过DevExpress WPF能创建有

    2024年02月12日
    浏览(36)
  • 界面控件DevExpress WPF流程图组件,完美复制Visio UI!(二)

    DevExpress WPF Diagram(流程图)控件帮助用户完美复制Microsoft Visio UI,并将信息丰富且组织良好的图表、流程图和组织图轻松合并到您的下一个WPF项目中。 在上文中(点击这里回顾),我们为大家介绍了DevExpress WPF Diagram(流程图)组件性能优异切信息丰富的流程图功能、轻松地

    2024年02月05日
    浏览(40)
  • 界面组件DevExpress WPF v23.2 - 更轻量级的主题支持

    DevExpress WPF Subscription拥有120+个控件和库,将帮助您交付满足甚至超出企业需求的高性能业务应用程序。通过DevExpress WPF能创建有着强大互动功能的XAML基础应用程序,这些应用程序专注于当代客户的需求和构建未来新一代支持触摸的解决方案。 DevExpress WPF控件日前正式发布了近

    2024年02月02日
    浏览(53)
  • 界面控件DevExpress WPF流程图组件,完美复制Visio UI!(一)

    DevExpress WPF Diagram(流程图)控件帮助用户完美复制Microsoft Visio UI,并将信息丰富且组织良好的图表、流程图和组织图轻松合并到您的下一个WPF项目中。 P.S :DevExpress WPF拥有120+个控件和库,将帮助您交付满足甚至超出企业需求的高性能业务应用程序。通过DevExpress WPF能创建有

    2024年02月04日
    浏览(38)
  • DevExpress WPF Tree List组件,让数据可视化程度更高!(二)

    DevExpress WPF Tree List组件是一个功能齐全、数据感知的TreeView-ListView混合体,可以把数据信息显示为REE、GRID或两者的组合,在数据绑定或非绑定模式下,具有完整的数据编辑支持。 在上文中(点击这里回顾DevExpress WPF Tree List组件是一个功能齐全的数据可视化控件,欢迎下载最

    2024年02月14日
    浏览(26)
  • 界面组件DevExpress WPF v23.1 - 进一步升级数据处理能力

    DevExpress WPF拥有120+个控件和库,将帮助您交付满足甚至超出企业需求的高性能业务应用程序。通过DevExpress WPF能创建有着强大互动功能的XAML基础应用程序,这些应用程序专注于当代客户的需求和构建未来新一代支持触摸的解决方案。 无论是Office办公软件的衍伸产品,还是以数

    2024年02月07日
    浏览(41)
  • 界面控件DevExpress WPF富文本编辑器,让系统拥有Word功能(二)

    DevExpress WPF控件的富文本编辑器允许开发者将文字处理功能集成到下一个WPF项目中,凭借其全面的文本格式选项、邮件合并以及丰富的终端用户选项集合,可以轻松地提供Microsoft Word功能。 DevExpress WPF拥有120+个控件和库,将帮助您交付满足甚至超出企业需求的高性能业务应用

    2024年02月06日
    浏览(35)
  • DevExpress WPF Tree List组件,让数据可视化程度更高!(一)

    DevExpress WPF Tree List组件是一个功能齐全、数据感知的TreeView-ListView混合体,可以把数据信息显示为REE、GRID或两者的组合,在数据绑定或非绑定模式下,具有完整的数据编辑支持。 DevExpress WPF 拥有120+个控件和库,将帮助您交付满足甚至超出企业需求的高性能业务应用程序。通

    2024年02月15日
    浏览(27)
  • 界面控件DevExpress WPF Gauge组件 - 轻松实现个性化商业仪表盘

    DevExpress WPF Gauge(仪表)控件包含了多种圆形仪表类型、水平和垂直线性仪表、分段和矩阵数字仪表以及状态指示器,同时还具有最终用户交互性的集成支持。 P.S :DevExpress WPF拥有120+个控件和库,将帮助您交付满足甚至超出企业需求的高性能业务应用程序。通过DevExpress WPF能

    2024年02月06日
    浏览(40)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包