• DevExpress WPF控件记录


    以下是博主用到DevExpress WPF控件时的一些记录笔记:

    1、Canvas控件:Canvas控件的背景色一定要设置(background="Transparent"),不然用代码在画布上画图会看不到效果

    2、ScrollViewer控件:滚动条控件,当某个控件没有HorizontalScrollbarVisibility和VerticalScrollbarVisibility属性
    来显示滚动条的时候,把该控件放在ScrollViewer控件中,只要该控件的高度超过ScrollViewer控件的高度就会自动出现
    滚动条,例如:
    <ScrollViewer HorizontalScrollBarVisibility="Auto" VerticalScrollBarVisibility="Auto" Name="scroll">
       <Canvas Name="cvFlow1" Background="Transparent"/>
    </ScrollViewer>

    3、ChartControl控件:图表控件,用该控件可以画折线、点状、饼状、柱状的2D和3D图。
    示例:折线图
    <dxc:ChartControl Name="chartControl1" Height="200">
                    <dxc:ChartControl.Titles>
                        <dxc:Title Content="CPU" />
                    </dxc:ChartControl.Titles>
                    <dxc:XYDiagram2D>
                            <dxc:XYDiagram2D.AxisX>
                                <dxc:AxisX2D  GridLinesVisible="True" DateTimeMeasureUnit="Second" DateTimeGridAlignment="Second" x:Name="cpuAxisX"
                                                              GridSpacing="10">
                                    <dxc:AxisX2D.DateTimeOptions>
                                        <dxc:DateTimeOptions Format="Custom" FormatString="HH:mm:ss" />
                                    </dxc:AxisX2D.DateTimeOptions>
                                </dxc:AxisX2D>
                            </dxc:XYDiagram2D.AxisX>
                            <dxc:XYDiagram2D.AxisY>
                                <dxc:AxisY2D GridLinesVisible="True">
                                    <dxc:AxisY2D.Range>
                                        <dxc:AxisRange MinValue="0" MaxValue="20" Name="cpuRange"/>
                                    </dxc:AxisY2D.Range>
                                </dxc:AxisY2D>
                            </dxc:XYDiagram2D.AxisY>
                            <dxc:LineStackedSeries2D  DisplayName="Series 1" Name="cpuView">
                        </dxc:LineStackedSeries2D>
                    </dxc:XYDiagram2D>
                </dxc:ChartControl>
    在上面的示例中X轴的坐标点显示的时间,单位是秒,每10秒一个坐标点,Y轴坐标点的范围在0-20之间

    4、CheckBoX控件值的双向绑定有两种方式:

    第一种:通过触发事件

    前台界面代码: <CheckBox Margin="5" IsChecked="{Binding Path=IsChecked,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}"/>

    后台代码如下:

     public class DeployComponent:INotifyPropertyChanged
     {
    
            public bool IsChecked
            {
                get { return isChecked; }
                set {
                    isChecked = value;
                    OnPropertyChanged("IsChecked");
                }
            }
            public event PropertyChangedEventHandler PropertyChanged;
            private void OnPropertyChanged(string name)
            {
                PropertyChangedEventHandler handler = PropertyChanged;
                if(handler!=null)
                {
                    handler(this, new PropertyChangedEventArgs(name));
                }
            }
     }

    第二种: <CheckBox Margin="0,2,2,2" IsChecked="{Binding Path=Data.IsChecked,Mode=TwoWay}"></CheckBox>       

          CheckBox控件所在的父控件通过设置ItemsSource绑定列表或者值

    5、ProgressBarEdit:进度条控件

    示例:<dxe:ProgressBarEdit ContentDisplayMode="Value" DisplayFormatString="{}{0}%"  Value="{Binding Path=Data.StepProgress,Mode=TwoWay}"></dxe:ProgressBarEdit>
    上面的示例显示的进度条,该进度值后面会有一个%,并且进度值显示在进度条的正中间

    6、GridControl:列表控件,DevExpress中的列表控件都会有自动排序,拖拽删除的功能,在有些项目中这些是禁止的,需要在GridControl.View里面设置属性,例如:

    dxg:GridControl HorizontalAlignment="Left" Name="gridControl1" VerticalAlignment="Top" 
                                                 Height="745" Margin="5,5,5,5" MouseDoubleClick="gridControl1_MouseDoubleClick">
                                            <dxg:GridControl.Columns>
                                                <dxg:GridColumn FieldName="Name" Header="容器名称"/>
                                                <dxg:GridColumn FieldName="CList" Header="组件列表" />
                                            </dxg:GridControl.Columns>
                                            <dxg:GridControl.View>
                                                <dxg:CardView Name="tableView1" CardTemplate="{StaticResource lbeTemplate}" ShowGroupPanel="False" 
                                                              IsColumnMenuEnabled="False" AllowColumnFiltering="False" AllowColumnMoving="False">
                                                    <dxg:CardView.CardHeaderTemplate>
                                                        <DataTemplate>
                                                            <StackPanel Orientation="Horizontal">
                                                                <CheckBox Margin="0,2,2,2" IsChecked="{Binding Path=Data.IsChecked,Mode=TwoWay}"></CheckBox>
                                                                <Label Content="{Binding Path=Data.Name}" HorizontalAlignment="Center"/>
                                                            </StackPanel>
                                                        </DataTemplate>
                                                    </dxg:CardView.CardHeaderTemplate>
                                                </dxg:CardView>
                                            </dxg:GridControl.View>
    </dxg:GridControl>

    上面示例中的IsColumnMenuEnabled="False"表示在列标头不显示右键菜单,AllowColumnFiltering="False":不允许排序,AllowColumnMoving="False":不能拖拽列表控件

  • 相关阅读:
    python解析网页中js动态添加的内容
    pycharm索引index时间很长的原因
    github/gitlab ssh-keys全局唯一
    使用gc、objgraph干掉python内存泄露与循环引用!
    ImportError: No module named _curses;Color support is disabled, python-curses is not installed.解决办法
    jinjia2模板学习
    flask可以通过缓存模板或者页面达到性能提升
    python的websocket实现Tornado
    flask的debug模式下,网页输入pin码进行调试
    Git 环境安装
  • 原文地址:https://www.cnblogs.com/xiaomianyang/p/7511282.html
Copyright © 2020-2023  润新知