zoukankan      html  css  js  c++  java
  • wpf绑定静态变量,模拟rem单位

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    
    namespace WpfApplication1
    {
        public class Class1: INotifyPropertyChanged
        {
            public SizeConverter rem
            {
                get;
            }
            public Class1()
            {
                rem = new SizeConverter();
            } 
            public event PropertyChangedEventHandler PropertyChanged;
            public void RaiseSizeChanged()
            {
                if (PropertyChanged != null)
                {
                    PropertyChanged(this, new PropertyChangedEventArgs("rem"));
                }
            }
        }
    
        public class SizeConverter : Dictionary<string, double>
        {
            public static double S = 1;
            public new double this[string key]
            {
                get
                {
                    return Convert.ToInt32(key) / S;
                }
                set
                {
    
                }
            }
    
    
        }
    }
    

      

    <Window x:Class="WpfApplication1.MainWindow"
            xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
            xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
            xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
            xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
            xmlns:local="clr-namespace:WpfApplication1"
            mc:Ignorable="d"
            Title="MainWindow" Height="350" Width="525">
        <Window.Resources>
            <local:Class1 x:Key="a"></local:Class1>
        </Window.Resources>
        <Grid>
            <Label x:Name="lbl" Content="hello" FontSize="{Binding Source={StaticResource a},Path=rem[80]}"></Label>
            <Button Content="click" Click="Button_Click" Margin="140,201,203,49"></Button>
        </Grid>
    </Window>
    

     当全局大小计算公式改变,可以这样通知绑定者去刷新

    private void Button_Click(object sender, RoutedEventArgs e)
            {
                SizeConverter.S = 2;
                ((Class1)Resources["a"]).RaiseSizeChanged();
            }
    

      

  • 相关阅读:
    浏览器控制台获取百度文库文章内容
    使用python登录CNZZ访问量统计网站,然后获取相应的数据
    使用Python登录腾讯MTA数据分析平台,然后获取相关数据
    使用python读写excel
    python将json转csv
    TCP/IP协议
    PHP smarty
    PHP入门及面向对象
    PHP概览
    PHP整体概览
  • 原文地址:https://www.cnblogs.com/IWings/p/6919427.html
Copyright © 2011-2022 走看看