WPF 在装了一堆panel的窗口上画线

hoken2020856 2013-07-12 03:54:36
各位好,

我的需求是这样的,一个简单的Word文档里的一个表格,要求在程序中用页面的形式展现出来。
我已经做好了这样的程序,也就是能够按照用户需求自己设计定义页面内容,无非就是动态加panel,panel里加控件,动态绑定。
现在客户要求同时要word文档里那些表格的线。
请问能否在这样的窗口的最外层自由地划线段呢?应该怎么实现呢?
...全文
182 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
lhx527099095 2013-07-15
  • 打赏
  • 举报
回复
首先自己写个类继承FrameworkElement

class LightDrawing : FrameworkElement
    {
        // Create a collection of child visual objects.
        private VisualCollection _children;
        public VisualCollection Children { get { return this._children; } }
        //DrawingVisual _dv = new DrawingVisual();
        //public DrawingVisual Drawing { get { return this._dv; } }
        public LightDrawing()
        {
            _children = new VisualCollection(this);
            //_children.Add(_dv);
        }

        protected override int VisualChildrenCount
        {
            get { return _children.Count; }
        }

        // Provide a required override for the GetVisualChild method.
        protected override Visual GetVisualChild(int index)
        {
            if (index < 0 || index >= _children.Count)
            {
                throw new ArgumentOutOfRangeException();
            }

            return _children[index];
        }

    }
然后 LightDrawing draw = new LightDrawing(); DrawingVisual visual = new DrawingVisual(); using (var dc = visual.RenderOpen()) { dc.DrawLine(new Pen(Brushes.Black,1),new Point(50,50),new Point(100,0)); } draw.Children.Add(visual); this.Container.Children.Add(draw);//这个container就是你要放在页面上的容器 还有就是 dc.DrawLine(new Pen(Brushes.Black,1),new Point(50,50),new Point(100,0)); 这句可以换成画其他任意path的 自己查api就行了
ariesget 2013-07-15
  • 打赏
  • 举报
回复
画线?点2次鼠标然后自动生成一条直线么?最外层加个Grid或者Canvas,然后开始画线的时候鼠标点下就记录一个点,第2次点下记录终点,然后以这2个点生成一个Line添加到最外层的布局控件里。
人生导师 2013-07-14
  • 打赏
  • 举报
回复
试试使用WPf的DocumentViewer控件把Word文档显示在这个控件
hoken2020856 2013-07-14
  • 打赏
  • 举报
回复
引用 3 楼 lizhi3186575 的回复:
试试使用WPf的DocumentViewer控件把Word文档显示在这个控件
这是不行的。用户不是要这个,我的软件就是取代word在他们那里的用途的。而且还提供字段查询等功能。
hoken2020856 2013-07-13
  • 打赏
  • 举报
回复
顶一下,不然沉了。我想过用border。。。但是有斜线就完蛋了
馒头仔 2013-07-12
  • 打赏
  • 举报
回复
初学WPF的路过

111,098

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧