zoukankan      html  css  js  c++  java
  • WPF Canvas做自动缩放时获取控件的实际高度

            WPF在 Canvas控件,因为要实现自动缩放,高度和款第都是设置为自动的。如果用ActualWidth和ActualHeight返回的值都是零。

    解决方法:

    我们Loaded方法等程序加载完成之后再获取实际高度和宽度。

       

    Loaded:在元素已布局、已呈现且可用于交互时发生。
    1 <Window x:Class="Smoke.Weather.Main"
    2         xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    3         xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Loaded="Window_Loaded"
    4         Title="Main" Height="300" Width="300">
    5     <Canvas x:Name="Carrier"  Background="Transparent"   >
    6 
    7     </Canvas>
    8 </Window>
     1 using System;
     2 using System.Collections.Generic;
     3 using System.Linq;
     4 using System.Text;
     5 using System.Windows;
     6 using System.Windows.Controls;
     7 using System.Windows.Data;
     8 using System.Windows.Documents;
     9 using System.Windows.Input;
    10 using System.Windows.Media;
    11 using System.Windows.Media.Imaging;
    12 using System.Windows.Shapes;
    13 
    14 namespace Smoke.Weather
    15 {
    16     /// <summary>
    17     /// Main.xaml 的交互逻辑
    18     /// </summary>
    19     public partial class Main : Window
    20     {
    21         public Main()
    22         {
    23             InitializeComponent();
    24         }
    25 
    26         private void Window_Loaded(object sender, RoutedEventArgs e)
    27         {
    28             Button  Spirit = new Button();
    29             Spirit.Width = Carrier.ActualWidth;
    30             Spirit.Height = Carrier.ActualHeight;
    31             Carrier.Children.Add(Spirit);
    32         }
    33     }
    34 }
  • 相关阅读:
    Windows下通过Xmanager远程桌面控制Linux
    kk
    Wingware.WingIDE.Professional.v3.2.9.1破解并激活
    CentOS LInux启动关闭和服务管理(zt)
    Windows 7开启ping
    apache和cgi问题
    CentOS启动时自动加载内核模块
    bash shell执行、排错、启动配置文件
    程序员都应该好好想想!
    有点意思啊!
  • 原文地址:https://www.cnblogs.com/dawn-cn/p/4125671.html
Copyright © 2011-2022 走看看