当前位置: 首页 > news >正文

阿里云网站域名备案杭州网站优化平台

阿里云网站域名备案,杭州网站优化平台,河南专业做网站,蛋糕店网站模板文章目录 控件折叠字体尺寸绑定选择字体字体的中文名称 txt阅读器系列: 需求分析和文件读写目录提取类💎列表控件与目录 控件折叠 作为一个txt阅读器,至少能够设置文字字体、尺寸,段落行间距等,还得有护眼模式等一系…

文章目录

    • 控件折叠
    • 字体尺寸绑定
    • 选择字体
    • 字体的中文名称

txt阅读器系列:

  • 需求分析和文件读写
  • 目录提取类💎列表控件与目录

控件折叠

作为一个txt阅读器,至少能够设置文字字体、尺寸,段落行间距等,还得有护眼模式等一系列功能,这也是最开始设计UI的时候,留下右侧空白的原因。但这些设置并不需要一直显示,故而在工具栏中给了一个👉按钮,用于开启或关闭右侧边栏。

为👉按钮添加事件btnCloseRight_Click,内容为

private void btnCloseRight_Click(object sender, RoutedEventArgs e)
{Button btn = sender as Button;bool flag = btn.Content.ToString() == "👈";btn.Content = flag ? "👉" : "👈";svRight.Visibility = flag ? Visibility.Visible : Visibility.Collapsed;
}

字体尺寸绑定

字体尺寸对阅读的影响是十分显著的,所以文本设置的第一条就是设置字体,其前端的设计逻辑如下

在这里插入图片描述

其中文本框中显示的是字体尺寸,+-号分别会让字体尺寸加一或者减一,而二者之间的滑动条则与文本框互相绑定,从而文本框显示的值就是滚动条中的值。具体实现方法如下

<StackPanel Orientation="Horizontal"><TextBlock Text="尺寸"/><TextBox Width="50" Height="20" Text="{Binding Value, ElementName=sFontSize}"/><Button Content="-" Width="20" Click="btnChangeFontSize_Click"/><Slider x:Name="sFontSize" VerticalAlignment="Center" Width="150"Minimum="1" Maximum="100" Value="15" IsSnapToTickEnabled="True"/><Button Content="+" Width="20" Click="btnChangeFontSize_Click"/>
</StackPanel>

其中,Text="{Binding Value, ElementName=sFontSize}"表示绑定了sFontSizeValue属性。

+-这两个按钮绑定的事件btnChangeFontSize_Click内容如下

private void btnChangeFontSize_Click(object sender, RoutedEventArgs e)
{Button btn = sender as Button;if (sFontSize.Value == 1)return;sFontSize.Value += btn.Content.ToString() == "+" ? 1 : -1;
}

此外,修改txt控件,将其FontSize也绑定到sFontSize上,具体变化为

<TextBox x:Name="txt" AcceptsReturn="True" TextWrapping="Wrap" FontFamily="{Binding SelectedItem, Source=cbFont}"FontSize="{Binding Value, ElementName=sFontSize}"VerticalScrollBarVisibility="Auto"/>

效果如下

在这里插入图片描述

选择字体

字体就只有那么多种,选择字体显然用ComboBox比较合适,具体的控件设置如下

<StackPanel Orientation="Horizontal"><TextBlock Text="字体"/><ComboBox x:Name="cbFont" Width="150"/>
</StackPanel>

然后在C#中添加绑定代码

public MainWindow()
{InitializeComponent();init();
}public void init()
{foreach (var fm in Fonts.SystemFontFamilies)cbFont.Items.Add(fm.Source);cbFont.SelectedIndex = 0;
}

通过cbFont.Items.Add逐个添加字体,并且修改txt,使之与字体相绑定

<TextBox x:Name="txt" AcceptsReturn="True" TextWrapping="Wrap" FontFamily="{Binding SelectedItem, ElementName=cbFont}"FontSize="{Binding Value, ElementName=sFontSize}"VerticalScrollBarVisibility="Auto"/>

最后效果如下

在这里插入图片描述

字体的中文名称

尽管我们的确得到了所有系统字体,但这些字体讲道理我们一个都不认识。而对于一个字体文件来说,除了英文名称外,还有不同语言的名称,封装在font.FamilyNames这个属性中。以中文为例,其对应的名称是zh-cn。为了得到中文名称,可以先创建一个中文的XmlLanguage,然后通过TryGetValue将中文名称试探性地输出到一个字符串中。这个TryGetValue的逻辑类似于int.TryParse,当转换成功时返回True,所以最终代码写成如下形式,这样一来,就可以显示所有中文字体了。

List<string> zhNames = new List<string>();
string tmpStr;
var ZH = XmlLanguage.GetLanguage("zh-cn");
foreach (var font in Fonts.SystemFontFamilies)if (font.FamilyNames.TryGetValue(ZH, out tmpStr))zhNames.Add(tmpStr);
cbFont.ItemsSource = zhNames;
cbFont.SelectedIndex = 0;
http://www.tj-hxxt.cn/news/107729.html

相关文章:

  • ftp怎么上传文件到网站湖南正规seo优化报价
  • 怎么做b2b网站吗网店运营培训哪里好
  • 做视频网站利润如何网络营销总结
  • 国家住房城乡建设部网站英雄联盟韩国
  • 网站流量30g最近的大新闻
  • 网站开发关键技术微信推广方法
  • 做网站推广员工互联网+营销策略怎么写
  • 南通网站推广怎么收费app开发公司有哪些
  • 湖州外贸网站建设微博搜索引擎优化
  • 企业网站怎么做的正在直播足球比赛
  • 网站首页倒计时功能怎么做王通seo赚钱培训
  • 项目网络计划北京网站优化专家
  • 北京朝阳区做网站百度搜索推广收费标准
  • 满屏滚动网站咋做安阳企业网站优化外包
  • 关于网站建设要花多少钱站长工具seo综合查询官网
  • 东软网站建设搜索引擎营销案例有哪些
  • 商城类网站建设方案网站推广找哪家公司好
  • wordpress documentationseo优化的方法有哪些
  • 做相册本哪个网站好用吗如何进行关键词优化工作
  • 北京市人民政府首都之窗网站网站流量统计工具有哪些
  • 深圳市网站设计公推广放单平台
  • 网站开发属于大学那个专业网络培训研修总结
  • 高端响应式网站建设企业营销策划方案
  • 深圳规模较大的网站建设公司百度总部
  • 阿里云 两个网站seo技巧课程
  • 网站建设的关键站长工具在线免费
  • 取消网站备案时间黄页88网推广服务
  • 沈阳网站定制开发关键词有几种类型
  • 如何做服装微商城网站建设本地推广平台
  • 网站建设kaituozu教育培训机构加盟十大排名