WPF DevExpress ComboBoxEdit 实现键值绑定,输入字符自动匹配

39 篇文章 0 订阅


<Window
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        xmlns:local="clr-namespace:ComboxTest"
        xmlns:dxe="http://schemas.devexpress.com/winfx/2008/xaml/editors" x:Class="ComboxTest.MainWindow"
        mc:Ignorable="d"
        Title="MainWindow" Height="350" Width="525" Loaded="Window_Loaded" WindowStartupLocation="CenterScreen">
    <Grid>
        <Grid.RowDefinitions>
            <RowDefinition Height="35"></RowDefinition>
            <RowDefinition Height="Auto"></RowDefinition>
            <RowDefinition Height="35"></RowDefinition>
        </Grid.RowDefinitions>
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="100"></ColumnDefinition>
            <ColumnDefinition Width="*"></ColumnDefinition>
        </Grid.ColumnDefinitions>
        <Label Content="类型" Grid.Row="0" Grid.Column="0" HorizontalAlignment="Right" VerticalAlignment="Center"></Label>
        <dxe:ComboBoxEdit x:Name="comArea" HorizontalAlignment="Left" VerticalAlignment="Stretch"  Width="250" Height="24" Grid.Row="0" Grid.Column="1"  EditValueChanged="comArea_EditValueChanged" />
        <Label x:Name="lblArea2" Content="区域范围二:" Grid.Row="1" Grid.Column="0" Visibility="Collapsed"  HorizontalAlignment="Right" VerticalAlignment="Center"/>
        <dxe:ComboBoxEdit x:Name="comArea2" HorizontalAlignment="Left" VerticalAlignment="Stretch" Width="250" Height="24" Grid.Row="1" Grid.Column="1" EditValueChanged="comArea2_EditValueChanged"  Visibility="Collapsed"   />
      

    </Grid>
</Window>



using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using System.Data;
using System.Data.SqlClient;
using Library.BLL;
using Library.Model;
using ComboxTest.Models;
namespace ComboxTest
{
    /// <summary>
    /// MainWindow.xaml 的交互逻辑
    /// </summary>
    public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();
        }
        R_ITArea_BLL areaBLL = new R_ITArea_BLL();
        decimal ProjectPreID = 100000003;
        int level = 0;

        private void Window_Loaded(object sender, RoutedEventArgs e)
        {
            try
            {
                BindData();
                //  GetAreaInfoFirst();
            }
            catch (Exception)
            {

            }
        }
        DataTable dt = new DataTable();
        private void BindData()
        {
            List<ITAreaInfo> AreaList = new List<ITAreaInfo>();
            //int ParentID = 0;
            DataTable dt = areaBLL.GetITAreaFirst(ProjectPreID.ToString());
            if (dt != null && dt.Rows.Count > 0)
            {
                for (int i = 0; i < dt.Rows.Count; i++)
                {
                    ITAreaInfo type = new ITAreaInfo();

                    type.TypeName = dt.Rows[i]["TypeName"].ToString();
                    type.TypeID = dt.Rows[i]["TypeID"].ToString();

                    AreaList.Add(type);
                }
            }
            var list = AreaList;
            foreach (ITAreaInfo item in list)
            {
                this.comArea.Items.Add(item);
            }
            comArea.AutoComplete = true;//自动搜索筛选     
            comArea.ImmediatePopup = true;
            comArea.AllowDrop = true;
        }

        private void comArea_EditValueChanged(object sender, DevExpress.Xpf.Editors.EditValueChangedEventArgs e)
        {

            try
            {
                if (!string.IsNullOrEmpty(this.comArea.Text.ToString()))
                {
                    string TypeID = ((ITAreaInfo)comArea.SelectedItem).TypeID;
                    string TypeName = ((ITAreaInfo)comArea.SelectedItem).TypeName;
                    GetAreaInfoSec(TypeID);

                    level = 1;
                }
            }
            catch (Exception ex)
            {

            }
        }

        private void GetAreaInfoSec(string ParentID)
        {
            List<ITAreaInfo> AreaSecList = new List<ITAreaInfo>();
            DataTable dt = areaBLL.GetITAreaSec(ProjectPreID.ToString(), ParentID);
            if (dt != null && dt.Rows.Count > 0)
            {
                for (int i = 0; i < dt.Rows.Count; i++)
                {
                    ITAreaInfo type = new ITAreaInfo();

                    type.TypeName = dt.Rows[i]["TypeName"].ToString();
                    type.TypeID = dt.Rows[i]["TypeID"].ToString();

                    AreaSecList.Add(type);
                }
                lblArea2.Visibility = Visibility.Visible;
                comArea2.Visibility = Visibility.Visible;
                level = 2;
            }
            else
            {
                lblArea2.Visibility = Visibility.Collapsed;
                comArea2.Visibility = Visibility.Collapsed;
            }

            foreach (ITAreaInfo item in AreaSecList)
            {
                this.comArea2.Items.Add(item);
            }
            comArea2.AutoComplete = true;//自动搜索筛选     
            comArea2.ImmediatePopup = true;
            comArea2.AllowDrop = true;
        }

        private void comArea2_EditValueChanged(object sender, DevExpress.Xpf.Editors.EditValueChangedEventArgs e)
        {

        }
    }


}

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ComboxTest.Models
{


    public class ITAreaInfo
    {
        public ITAreaInfo()
        {
            ITAreaInfoData = new List<ITAreaInfo>();
        }
        public string TypeName { set; get; }

        public string TypeID { set; get; }

        public override string ToString()
        {
            return TypeName;
        }
        public List<ITAreaInfo> ITAreaInfoData { get; set; }
    }



}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: WPF Devexpress Chart是一种用于在WPF应用程序中显示图表数据的工具。要放大WPF Devexpress Chart中的图表,可以使用以下方法: 首先,确保已引用Devexpress控件库并在WPF应用程序中添加Chart控件。然后,在XAML中创建一个Chart元素,并设置其Name属性以便在代码中引用。 要放大图表,可以使用鼠标滚轮来控制缩放级别。当鼠标在图表区域内滚动时,Chart控件会自动响应并相应地放大或缩小图表。这种方式非常直观和简单,用户可以根据需要自义图表的显示比例。 另一种方式是使用代码来控制图表的缩放。可以通过Chart控件的ScaleX和ScaleY属性来实现图表的缩放效果。ScaleX属性控制图表在水平方向上的缩放比例,而ScaleY属性控制图表在垂直方向上的缩放比例。可以通过调整这些属性的来放大或缩小图表。 例如,要将图表放大到原始大小的两倍,可以使用以下代码: ``` chart.ScaleX = 2; chart.ScaleY = 2; ``` 还可以通过设置Chart控件的ViewportSize属性来控制图表的可视区域大小。ViewportSize属性指了图表中实际显示的部分,可以通过更改其来放大或缩小图表的显示范围。 综上所述,使用WPF Devexpress Chart放大图表可以通过鼠标滚轮操作、代码控制ScaleX和ScaleY属性以及调整ViewportSize属性来实现。这些方法都可以根据需求灵活地调整图表的显示大小。 ### 回答2: WPF DevExpress Chart是一种功能强大的图表控件,可以实现数据的可视化展示和分析。在使用该控件时,我们可以通过各种方法进行图表的放大。 一种常见的方法是使用鼠标滚轮进行图表的放大。当鼠标指针位于图表上时,我们可以通过向前滚动滚轮来放大图表。这会使图表中显示的数据更加详细,可以更清楚地观察到细节。 另一种方法是使用控件自带的放大功能。我们可以在图表控件的属性或方法中找到相关的放大功能设置。通过调整相关属性或调用相关的方法,我们可以实现图表的放大。例如,可以设置控件的ZoomEnabled属性为true,然后通过调整ZoomFactor属性的实现放大效果。 除了这些方法之外,我们还可以通过修改图表的显示范围来实现放大效果。通过设置图表的X轴和Y轴的最小和最大,我们可以调整图表的显示范围,使得图表中显示的数据更加详细。 总结起来,WPF DevExpress Chart的放大可以通过鼠标滚轮、控件自带的放大功能设置以及调整显示范围等方法实现。这些方法可以根据具体的需求和场景进行选择和使用,使得图表的展示效果更加优秀和易于分析。 ### 回答3: 在WPF开发中,使用DevExpress Chart控件实现图表的放大功能可以通过以下步骤实现: 1. 首先,确保已经正确安装并引用了DevExpress控件库。 2. 在XAML文件中,添加ChartControl控件,并设置其Name属性,例如: ``` <dx:ChartControl x:Name="chartControl" Width="800" Height="500"> <!-- 添加图表内容 --> </dx:ChartControl> ``` 3. 在代码中,可以通过以下代码实现图表的放大功能: ```csharp private void ZoomIn() { chartControl.Diagram.ZoomIn(); } private void ZoomOut() { chartControl.Diagram.ZoomOut(); } ``` 在需要放大的地方调用ZoomIn()方法,即可实现图表的放大功能。同样,调用ZoomOut()方法可以实现图表的缩小功能。 需要注意的是,ChartControl的Diagram属性是用来表示图表的控件,通过该属性可以对图表进行操作。通过调用Diagram的ZoomIn()和ZoomOut()方法即可实现图表的放大和缩小。 另外,还可以通过设置其他属性来进一步控制图表的放大功能,如设置ZoomingOptions属性来限制图表的最大放大倍数,设置MouseRightButtonOptions属性来指操作的放大方式等。 希望以上内容对您有所帮助!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值