小编use*_*851的帖子

WPF 画布和网格覆盖

我有一个Grid代表一些数据的对象,我需要一个Canvas覆盖在它上面来布局一些行。它Canvas在它自己的里面UserControl

问题是,Canvas当调整宽度和高度大小时, 及其内容应该自动调整大小Grid

Canvas在里面添加了 a ViewBox,但它没有起作用。当Grid调整大小时,则Canvas不会。其目的Canvas是在网格顶部覆盖类似标尺的功能。

期待您的解决方案。

编辑

我无法使用网格上的样式来替换画布,因为网格显示的信息与画布不同。将其视为图表,其中有不同大小的条形列(在我的例子中是网格),而日期是叠加中的线条(就像甘特图一样)

我的代码:

    taxCanvas = new TimeAxis();
    Grid.SetRowSpan(taxCanvas, GRightMain.RowDefinitions.Count);
    Grid.SetColumnSpan(taxCanvas, GRightMain.ColumnDefinitions.Count);

    Grid.SetColumn(taxCanvas, 0);
    Grid.SetRow(taxCanvas, 0);


    Grid.SetZIndex(taxCanvas, -1);

    taxCanvas.Height = GRight.ActualHeight;
    taxCanvas.Width = GRight.ActualWidth;

    GRightMain.Children.Add(taxCanvas);
Run Code Online (Sandbox Code Playgroud)

TimeAxis 是我的画布用户控件,GRightMain 是一个网格,它包含我的画布和内容(Gright)位于同一行和列中的网格。

希望这可以帮助

wpf grid overlay canvas

4
推荐指数
1
解决办法
1万
查看次数

标签 统计

canvas ×1

grid ×1

overlay ×1

wpf ×1