zoukankan      html  css  js  c++  java
  • WPF 自定义控件缩放

    方式一:

    自定义控件使用固定大小绘制:控件内的各个子控件大小设定固定值

    优点:控件绘制简单、快捷。

    缺点:使用时如需缩放,需在自定义控件的外面加一个 ViewBox 。

    使用示例如下(将 UserControl_Test 缩放 100 / 50 比例显示):

    <Viewbox Stretch="Fill" Height="100" >
      <customComponent:UserControl_Test  Height="50" />
    </Viewbox>

    方式二:

    自定义控件使用相对大小绘制:控件内的各个子控件大小设定为控件大小的一定比例

    优点:使用时不需要 ViewBox ,代码更简洁直观;

    缺点:控件制作有时(例如控件内有动画效果)较为复杂。

    方式三:

    (1). 自定义控件定义:

    <UserControl ...(此处为默认生成代码,省略)
                 x:Name="UserControl_Test">

      <Viewbox Stretch="Fill"  Height="{Binding ElementName = UserControl_Test, Path = Height}">

        <Grid Height="50">

          ...(自定义控件代码)

        </Grid>
      </Viewbox>

    </UserControl>

    (2). 使用示例如下(将 UserControl_Test 缩放 100 / 50 比例显示):

    <Window ...(此处为默认生成代码,省略)>


        <Grid>
            <local:UserControl_Test Height="100" />
        </Grid>
    </Window>

    优点:兼具方式一、方式二的优点;

    缺点:自定义控件的缩放方式(ViewBox 的 Stretch 属性值)被固定了,不过除非对缩放方式有特殊需求,否则无影响。

    注:推荐使用方式三

  • 相关阅读:
    处理MVC中默认的Json方法返回时间的问题
    Linq To DataSet
    (C#)利用Aspose.Cells组件导入导出excel文件
    泛型转带逗号分割的字符串
    request参数集合绑定实体实现defaultmodebinder
    .NET反射
    用过属性来给标签加样式
    Servlet中的过滤器Filter用法
    JQueryUI确认框 confirm
    Openwrt自定义CGI实现
  • 原文地址:https://www.cnblogs.com/dhqy/p/9606389.html
Copyright © 2011-2022 走看看