精华内容
下载资源
问答
  • WPF 标尺自动缩放.rar

    2020-03-30 11:58:48
    wpf ruler 标尺自动屏幕伸缩
  • wpf中的自动缩放

    2013-04-23 14:30:00
    viewbox会自动缩放里面的组件,如果里面的组件已有确定的大小,就会均匀的缩放。 <Window x:Class="WpfTest.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x=...

    viewbox会自动缩放里面的组件,如果里面的组件已有确定的大小,就会均匀的缩放。

    <Window x:Class="WpfTest.MainWindow"
            xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
            xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
            Title="MainWindow" Height="768" Width="1920">
        <Viewbox >
            <Button Width="100" Height="100">jsakld</Button>
        </Viewbox>
    </Window>

     

    有缩放:

    <Window x:Class="WpfTest.MainWindow"
            xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
            xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
            Title="MainWindow" Height="768" Width="1920">
        <Viewbox >
            <Grid Width="100" Height="50">
                <Grid.RowDefinitions>
                    <RowDefinition />
                    <RowDefinition />
                </Grid.RowDefinitions>
                <Grid.ColumnDefinitions>
                    <ColumnDefinition />
                    <ColumnDefinition />
                </Grid.ColumnDefinitions>
                <Label Content="名称" />
                <TextBox Grid.Column="1" />
                <Label Content="年龄"  Grid.Row="1"/>
                <TextBox Grid.Column="1"   Grid.Row="1"/>
                
            </Grid>
        </Viewbox>
    </Window>

    没缩放:

    <Window x:Class="WpfTest.MainWindow"
            xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
            xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
            Title="MainWindow" Height="768" Width="1920">
        <Viewbox >
            <Grid Width="1920" Height="768">
                <Grid.RowDefinitions>
                    <RowDefinition />
                    <RowDefinition />
                </Grid.RowDefinitions>
                <Grid.ColumnDefinitions>
                    <ColumnDefinition />
                    <ColumnDefinition />
                </Grid.ColumnDefinitions>
                <Label Content="名称" />
                <TextBox Grid.Column="1" />
                <Label Content="年龄"  Grid.Row="1"/>
                <TextBox Grid.Column="1"   Grid.Row="1"/>
                
            </Grid>
        </Viewbox>
    </Window>

    转载于:https://www.cnblogs.com/wangjixianyun/archive/2013/04/23/3037761.html

    展开全文
  • C# WPF中在窗体上建一个Button点击按钮完成窗体的缩放
  • WPF缩放

    2021-06-07 08:14:12
    01 Viewbox Viewbox与border类似,可以接受一个子元素,并对子...左侧的圆形在Viewbox下,会随着窗体的大小变化而变化,而右侧在窗体变化时,并不会自动改变。由此可以看到,Viewbox在自身size变化时,会按照比例对子元

    01 Viewbox

    Viewbox与border类似,可以接受一个子元素,并对子元素进行缩放。Viewbox较多的应用场景是对形状进行缩放处理,例如在Canvas面板中绘制了Ellipse椭圆,当Viewbox的size变化时,椭圆能够跟随变化。而绘制形状具有精确的坐标,即形状是具有固定的大小。如果没有Viewbox,形状的尺寸是不会跟随变化的。

    左侧的圆形在Viewbox下,会随着窗体的大小变化而变化,而右侧在窗体变化时,并不会自动改变。由此可以看到,Viewbox在自身size变化时,会按照比例对子元素进行缩放。

    在这里插入图片描述

    需要注意的是,viewbox的子元素必须具有显式的size,否则不显示。


    02 Transform


    每个控件都具有RenderTransform属性,其作用是通过改变控件的坐标系统来使外观发生变化,例如平移、翻转、倾斜、缩放等。与动画结合,可以实现很多常见效果,例如加载动画,就是通过绘制ellipse和控制rotatetransform动画,并控制ellipse的可见性即可实现。

    最后总结,viewbox主要用来对其子元素进行缩放,在自身大小变化时,子元素能够跟随变换,子元素通常来放置绘制元素。Transform通过改变坐标系统来改变元素的位置等属性。
    回到最初的问题,需求是图片能够像手机地图那样进行放大和缩小,那么图片的缩放显然改变ScaleTransform的ScaleX和ScaleY就可以实现了。

    展开全文
  • WPF在Canvas控件,因为要实现自动缩放,高度和款第都是设置为自动的。如果用ActualWidth和ActualHeight返回的值都是零。 解决方法: 我们Loaded方法等程序加载完成之后再获取实际高度和宽度。 Loaded:在元素...

            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 }

     

    转载于:https://www.cnblogs.com/dawn-cn/p/4125671.html

    展开全文
  • WPF控件内容自动缩放及放大镜

    千次阅读 2014-08-15 09:14:10
    一、功能、布局描述 1、使用Grid的GridSplitter实现可拖拽分隔栏效果。当ShowsPreview设置为True时,拖拽过程中不会刷新(控件内容要等到鼠标释放时...2、使用ViewBox特性实现控件内容随拖拽自动变化。 3、布局代码:


    一、内容缩放


    1、布局

    1、使用Grid的GridSplitter实现可拖拽分隔栏效果。当ShowsPreview设置为True时,拖拽过程中不会刷新(控件内容要等到鼠标释放时才变化);当ShowsPreview设置为False时,控件内容实时跟随变化。

    2、使用ViewBox特性实现控件内容随拖拽自动变化。

    3、布局代码:

    <Grid>
        <Grid.RowDefinitions>
            <RowDefinition Height="40"/>
            <RowDefinition/>
        </Grid.RowDefinitions>
            
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="100" MinWidth="50"/>
            <ColumnDefinition Width="Auto"/>
            <ColumnDefinition/>
        </Grid.ColumnDefinitions>
    
        <TextBox Text="Row-0 Column-0" Grid.ColumnSpan="3" BorderBrush="Black"/>
        <Viewbox Grid.Row="1">
            <TextBox Text="Row-1 Column-1" BorderBrush="Black"/>
        </Viewbox>
        <Viewbox Grid.Row="1" Grid.Column="2">
            <TextBox Text="Row-1 Column-2" BorderBrush="Black"/>
        </Viewbox>
            
        <GridSplitter Grid.Row="1" Grid.Column="1"
                    VerticalAlignment="Stretch"
                    HorizontalAlignment="Center"
                    Width="10"
                    Background="Red"
                    ShowsPreview="False"
                    />
    </Grid>

    2、界面效果

    1. 启动时界面:


    2、拖拽后界面:



    二、放大镜

    1. 布局

    <Grid Name="rootLayout">
            <Grid Name="contextArea" PreviewMouseMove="contextArea_PreviewMouseMove" Background="Green">
                <Image Source="Icons/mthumb1.jpg" Margin="0" Stretch="UniformToFill"/>
            </Grid>
            <Canvas>
                <Canvas Name="magnifierCanvas" IsHitTestVisible="False">
                    <Ellipse Width="150" Height="150" StrokeThickness="3" Fill="LightBlue" />
                    <!--为了看得清楚椭圆控件我再添加了一个一样大小的Ellipse重叠再一起,  
                        将其背景颜色设置为LightBlue  
                        当然你也可以不要这个Ellipse 可以删除-->
                    <!--magnifierEllipse就是我们要填充的控件  就像上一个的Rectangle控件-->
                    <Ellipse Width="150" Height="150" Name="magnifierEllipse">
                        <Ellipse.Fill>
                            <VisualBrush x:Name="vb" Visual="{Binding ElementName=contextArea}" Stretch="UniformToFill" 
                                         ViewboxUnits="Absolute" Viewbox="0, 25, 50, 50"
                                         ViewportUnits="RelativeToBoundingBox" Viewport="0, 0, 1, 1">
                            </VisualBrush>
                        </Ellipse.Fill>
                    </Ellipse>
                </Canvas>
            </Canvas>
        </Grid>

    2. C#代码逻辑

            private void contextArea_PreviewMouseMove(object sender, MouseEventArgs e)
            {
                Point rate = new Point(2, 2);
                Point pos = e.MouseDevice.GetPosition(rootLayout);  //相对于outsideGrid 获取鼠标的坐标  
                Rect viewBox = vb.Viewbox;    //这里的Viewbox和前台的一样   这里就是获取前台Viewbox的值
                double xoffset=0;  //因为鼠标要让它在矩形(放大镜)的中间  那么我们就要让矩形的左上角重新移动位置  
                double yoffset=0;
    
                xoffset = magnifierEllipse.ActualWidth / 2;
                yoffset = magnifierEllipse.ActualHeight / 2;
    
                viewBox.X = pos.X - xoffset + (magnifierEllipse.ActualWidth - magnifierEllipse.ActualWidth / rate.X)/2;
                viewBox.Y = pos.Y - yoffset + (magnifierEllipse.ActualHeight - magnifierEllipse.ActualHeight / rate.Y)/2;
                vb.Viewbox = viewBox;
                Canvas.SetLeft(magnifierCanvas, pos.X - xoffset);  //同理重新定位Canvas magnifierCanvas的坐标  
                Canvas.SetTop(magnifierCanvas, pos.Y - yoffset);  
            }

    3. 运行效果



    展开全文
  • WPF 控件内部字体根据窗体自动缩放

    千次阅读 2018-04-14 22:10:57
    将需要缩放的控件放在Viewbox内部&lt;Viewbox&gt;控件&lt;/Viewbox&gt;
  • 由于项目需要,需修改Viewport2D.cs代码 增加字段,使能设置做的宽度  ///  /// 图形最大宽度 贾世义增加  ///  public int MaxWidth = 0;...修改 private Rect CoerceVisible(Rect newVisible) ...
  • 今天做一个综合案例,WPF的仿QQ窗体,贴边自动隐藏,无边框窗体,可拖拽实现缩放,最大化不覆盖任务栏。 无边框窗体缩放,上一篇文章已经介绍了,不过今天使用的方法更简单,不会占用视图的资源,纯代码完成。 ...
  • 组件放在ViewBox里,在大小变化的时候字体大小会自动缩放,测试Button放到ViewBox里是这样的。 转载于:https://www.cnblogs.com/wangjixianyun/archive/2013/03/19/2969075.html...
  • WPF实例 WPF

    热门讨论 2011-02-23 10:55:09
    WPF是基于DirectX引擎的,它支持GPU硬件加速,在显卡不支持的情况下也可以使用软件绘制,并且它能够自动识别显示器的分辨率并进行缩放WPF提供了超丰富的.NET UI 框架,集成了矢量图形,丰富的流动文字支持flow ...
  • 由于WPF 图形系统使用与设备无关的单元来支持分辨率和设备无关性,每个与设备无关的像素都会随系统上的每英寸点数 (DPI) 设置自动缩放,我们可以把这种DPI称为系统DPI,按照WPF系统默认设置,每个显示器(或称显示...
  • 截图会受到系统显示设置的影响,如多个显示器,每个显示器的大小不一,每个显示器的缩放布局,以及哪个显示器为主显示器等影响。(我的电脑2显示器为主显示器,且两个显示器为左右放置上对齐,故电脑左上角的坐标为...
  • 尤其是 Image 控件显示的图片会根据图片 EXIF 中的 DPI 信息和屏幕 DPI 自动缩放图片。对于 UI 用图来说这是好事,但对于软件用户随便插入的图片来说就不是了——用户传入的图片可能是各种各样不统一的 DPI。因此...
  • WPF的仿QQ窗体,贴边自动隐藏,无边框窗体,可拖拽实现缩放,最大化不覆盖任务栏 方法简单,不会占用视图的资源,纯代码完成。 实现方法: OnMouseLeftButtonDown(),OnMouseMove(),OnMouseLeave()三个事件完成...
  • WPF编程宝典 part1

    2015-07-20 23:33:59
    12.1.4 使用Viewbox控件缩放形状 280 12.1.5 直线 282 12.1.6 折线 283 12.1.7 多边形 284 12.1.8 直线线帽和直线交点 286 12.1.9 点划线 287 12.1.10 像素对齐 288 12.2 画刷 289 12.2.1 SolidColorBrush画刷 290 ...
  • WPF编程宝典 part2

    2015-07-20 23:35:21
    12.1.4 使用Viewbox控件缩放形状 280 12.1.5 直线 282 12.1.6 折线 283 12.1.7 多边形 284 12.1.8 直线线帽和直线交点 286 12.1.9 点划线 287 12.1.10 像素对齐 288 12.2 画刷 289 12.2.1 SolidColorBrush画刷 290 ...
  • 想让 TextBlock即换行又能自动根据内容进行缩放,说到自动缩放,当然是ViewBox控件了,而TextBlock有TextWrapping属性控制换行, 所以在ViewBox中套用一个TextBlock,然后设置换行,问题就能解决了,代码如下: &...
  • 总结几种应用于WPF的Chart插件

    万次阅读 2015-09-27 22:56:42
    优点:界面美观,包含常见的图表类型,可缩放,且可设置数据点的鼠标响应事件,X轴设置为时间轴类型后,tooltip会自动显示时间值。 缺点:Y轴仅提供Primary和Secondary两种类型,不支持多轴,且在查看数据点信息时...
  • 源项目地址:https://github.com/Microsoft/...以下是把...主要实现功能:1 根据选定目录自动加载图片或缩略图,并显示选中图片的元素据信息2 选中图片进行编辑、缩放、旋转、黑白变3 对图片容器大小进行自动缩放 数...
  • NodeNetwork是.NET C#WPF库,它提供节点编辑器组件。 这是计算器示例应用程序的演示: 该库的更实际的用例可以是着色器编辑器。 这是使用NodeNetwork制作的着色器编辑器示例的演示: 这些示例应用程序可在下载,...
  • ViewBox是一个容器空间,它会自动缩放容器中的子空间以填满自身,同时它只能有一个子控件。不过,我们可以把Canvas控件作为ViewBox控件的子控件。然后在Canvas控件中布局其他的控件。  先看看下面的窗口的Xaml文件...
  • 一款非常好的WPF编程宝典2010 源代码

    热门讨论 2014-04-14 09:57:41
    19.3.1 缩放 549 19.3.2 页面和列 549 19.3.3 从文件加载文档 552 19.3.4 打印 552 19.4 编辑流文档 553 19.4.1 加载文件 553 19.4.2 保存文件 555 19.4.3 格式化选择的文本 556 19.4.4 获取单个单词 558 ...
  • 捣鼓了好几天,每天看看资料,看看代码,一边玩QQ游戏,玩CS等, ...核心就是 控件窗口的大小缩放自动保持布局 搞了好几天,最后发现老简单了, 用Binding ElementName= 窗口大小和HorizontalContentAlign...
  • 自定义控件系列,基于OxyPlot开发。 ImageCanvas控件 功能包括:二维数组图像显示...自动计算长度、角度、面积(像素点个数、总和、平均值);保存、加载绘制对象;保存 ROI数据模板;缩放、平移;旋转、翻转。 ...
  • wpf中,用手指触屏移动或缩放地图时,地图上的车站点没有跟随着一起移动。请问在以下的代码中该如何编写代码,或者在别的事件中怎么写代码了?非常感谢! #region 触屏事件 //当触碰到Image 图片时,...
  • 19.3.1 缩放 549 19.3.2 页面和列 549 19.3.3 从文件加载文档 552 19.3.4 打印 552 19.4 编辑流文档 553 19.4.1 加载文件 553 19.4.2 保存文件 555 19.4.3 格式化选择的文本 556 19.4.4 获取单个单词 558 19.5 固定...
  • 根据屏幕以及分辨率自动调整大小,自动进行缩放,完美兼容Windows8(在Windows8的电脑上调整缩放DPI后,软件显示内容不会失真。) 2. 性能提升。 内存占用率比上一代TestBook降低30%。(一部分数据保存在显卡的显存...
  • 1) JS和标签的自动提示在vs2010中,js代码和标签都加上了作用自动提示,就像在cs中的类成员提示一样。签标 JS 2) 新增的控件Web上 Winform 3) 源代码缩放当我可以在CS代码上,按住Ctrl来滚动滚轮,对代码进行...

空空如也

空空如也

1 2 3
收藏数 59
精华内容 23
热门标签
关键字:

wpf自动缩放