如何从 DockPanel 获取高度和宽度?

泥鳅

我正在使用 DockPanel 来托管一些图像增强控件。要增强的图像位于“中心”停靠位置。我想让图像填充 DockPanel 的整个区域。我有一个自定义类,它实现了 WPF Canvas 控件并将 windows.Rect 作为输入。这个 Rect 将为我覆盖的图像渲染函数设置区域。

我试图获得 DockPanel.ActualHeight 和 .ActualWidth。两者都是 NaN 和 DockPanel.Width 和 Height = 0。

    public MainWindow()
    {
        ImageDataModel = new ImageDataModel();
        DataContext = ImageDataModel;
        InitializeComponent();
        WindowState = WindowState.Maximized;
        var tmpWindow = Window.GetWindow(BaseDockPanel);
        Rect rect = new Rect(0, 0, BaseDockPanel.ActualWidth, BaseDockPanel.ActualHeight);
        bitmapCanvas = new BitMapCanvas(rect);
        BaseDockPanel.Children.Add(bitmapCanvas);
    }

我希望能够创建一个 windows.Rect,它是 DockPanel.center 高度和宽度的实际尺寸。当前控件的高度和宽度为 0。

伊万爵士

在构建 时MainWindow, 内的子控件Window在您的情况下BaseDockPanel尚未加载。

这就是为什么你的ActualWidth得到 0 的原因ActualHeight

您可以做的是为 Window 的Loaded事件添加一个 EventHandler,如下所示。

public MainWindow()
{
    ImageDataModel = new ImageDataModel();
    DataContext = ImageDataModel;
    InitializeComponent();
    WindowState = WindowState.Maximized;

    this.Loaded += Window_Loaded;
}

private void Window_Loaded(object sender, RoutedEventArgs e)
{
    var tmpWindow = Window.GetWindow(BaseDockPanel);
    // You will get your ActualWidth and ActualHeight here.
    Rect rect = new Rect(0, 0, BaseDockPanel.ActualWidth, BaseDockPanel.ActualHeight);
    bitmapCanvas = new BitMapCanvas(rect);
    BaseDockPanel.Children.Add(bitmapCanvas);
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

WPF如何使边框宽度扩展以填充DockPanel中的可用空间

来自分类Dev

如何确定DockPanel中包含的所有项目的高度

来自分类Dev

DevExpress DockPanel宽度

来自分类Dev

如何获取屏幕的宽度和高度-Android

来自分类Dev

如何获取表格的内部宽度和高度

来自分类Dev

如何获取视图的高度和宽度?

来自分类Dev

如何获取视图框的宽度和高度

来自分类Dev

WPF Dockpanel 宽度 Stretch in xaml

来自分类Dev

在iOS中,如何获取屏幕的高度和宽度,包括在横向模式下宽度大于高度?

来自分类Dev

如何获取文档的整个宽度和高度(无jQuery)

来自分类Dev

如何获取活动片段视图的参数(如宽度和高度)?

来自分类Dev

如何在Android中获取显示图像的宽度和高度?

来自分类Dev

如何通过js从svg div获取宽度和高度

来自分类Dev

如何使用TypeScript在Ionic中获取设备的宽度和高度?

来自分类Dev

如何在SwiftUI中获取视图或屏幕的高度和宽度

来自分类Dev

如何获取HTML中根节点的实际宽度和高度?

来自分类Dev

如何在引导程序中获取窗口的高度和宽度

来自分类Dev

如何通过js从svg div获取宽度和高度

来自分类Dev

如何从构造函数中获取JPanel的宽度和高度?

来自分类Dev

如何获取SVG折线元素的高度和宽度?

来自分类Dev

如何:用C#(WPF)创建DockPanel

来自分类Dev

如何:用C#(WPF)创建DockPanel

来自分类Dev

如何使div的高度和宽度等于屏幕的宽度和高度?

来自分类Dev

如何在GWT中独立于DockPanel.CENTER设置DockPanel.NORTH元素的样式

来自分类Dev

如何获取片段中按钮的宽度/高度

来自分类Dev

如何获取片段中按钮的宽度/高度

来自分类Dev

CKFinder如何在选择图像(文件:选择)时获取尺寸URL和尺寸(宽度/高度)?

来自分类Dev

在CreateResources期间如何获取Win2D CanvasBitmap的宽度和高度?

来自分类Dev

如何在Windows Phone 8.1中获取屏幕分辨率(宽度和高度)?

Related 相关文章

  1. 1

    WPF如何使边框宽度扩展以填充DockPanel中的可用空间

  2. 2

    如何确定DockPanel中包含的所有项目的高度

  3. 3

    DevExpress DockPanel宽度

  4. 4

    如何获取屏幕的宽度和高度-Android

  5. 5

    如何获取表格的内部宽度和高度

  6. 6

    如何获取视图的高度和宽度?

  7. 7

    如何获取视图框的宽度和高度

  8. 8

    WPF Dockpanel 宽度 Stretch in xaml

  9. 9

    在iOS中,如何获取屏幕的高度和宽度,包括在横向模式下宽度大于高度?

  10. 10

    如何获取文档的整个宽度和高度(无jQuery)

  11. 11

    如何获取活动片段视图的参数(如宽度和高度)?

  12. 12

    如何在Android中获取显示图像的宽度和高度?

  13. 13

    如何通过js从svg div获取宽度和高度

  14. 14

    如何使用TypeScript在Ionic中获取设备的宽度和高度?

  15. 15

    如何在SwiftUI中获取视图或屏幕的高度和宽度

  16. 16

    如何获取HTML中根节点的实际宽度和高度?

  17. 17

    如何在引导程序中获取窗口的高度和宽度

  18. 18

    如何通过js从svg div获取宽度和高度

  19. 19

    如何从构造函数中获取JPanel的宽度和高度?

  20. 20

    如何获取SVG折线元素的高度和宽度?

  21. 21

    如何:用C#(WPF)创建DockPanel

  22. 22

    如何:用C#(WPF)创建DockPanel

  23. 23

    如何使div的高度和宽度等于屏幕的宽度和高度?

  24. 24

    如何在GWT中独立于DockPanel.CENTER设置DockPanel.NORTH元素的样式

  25. 25

    如何获取片段中按钮的宽度/高度

  26. 26

    如何获取片段中按钮的宽度/高度

  27. 27

    CKFinder如何在选择图像(文件:选择)时获取尺寸URL和尺寸(宽度/高度)?

  28. 28

    在CreateResources期间如何获取Win2D CanvasBitmap的宽度和高度?

  29. 29

    如何在Windows Phone 8.1中获取屏幕分辨率(宽度和高度)?

热门标签

归档