win10 uwp 自定义控件 SplitViewItem
本文主要是因为汉堡菜单里面列出的菜单很多重复的图标和文字,我把它作为控件,因为是随便写,可能存在错误,如果发现了,请和我说或关掉浏览器,请不要发不良言论。
我们使用汉堡菜单,经常需要一个
需要一个图标和一个文字
我开始写
<ListViewItem.Content>
<StackPanel Orientation="Horizontal">
<TextBlock Margin="10,10,10,10" FontFamily="Segoe MDL2 Assets"
Text=""></TextBlock>
<TextBlock Margin="10,10,10,10" Text="登录"></TextBlock>
</StackPanel>
</ListViewItem.Content>
因为需要写3个,我觉得复制不好,因为我还有很多软件,如果每个都这样,那么在TextBlock使用
很多都是一样的
自己创建控件,右击添加控件
在控件
<Grid>
<StackPanel Orientation="Horizontal">
<TextBlock Margin="10,10,10,10" FontFamily="Segoe MDL2 Assets"
Text="{x:Bind IconString}"></TextBlock>
<TextBlock Margin="10,10,10,10" Text="{x:Bind Text}"></TextBlock>
</StackPanel>
</Grid>
然后在SplitViewItem.xaml.cs
属性IconString,Text
public static readonly DependencyProperty IconStringProperty = DependencyProperty.Register(
"IconString", typeof(string), typeof(SplitViewItem), new PropertyMetadata(default(string)));
public string IconString
{
set
{
SetValue(IconStringProperty, value);
}
get
{
return (string) GetValue(IconStringProperty);
}
}
public static readonly DependencyProperty TextProperty = DependencyProperty.Register(
"Text", typeof(string), typeof(SplitViewItem), new PropertyMetadata(default(string)));
public string Text
{
set
{
SetValue(TextProperty, value);
}
get
{
return (string) GetValue(TextProperty);
}
}
我把SplitViewItem扔View文件夹,在使用
xmlns:view="using:EncryptionSyncFolder.View"
本来需要很长的代码,现在修改成为一点点,其实就是导入我的自定义控件,首先在上面的代码是把view用作我的控件所在文件夹,反人类的Segoe MDL2 Assets 可以在http://modernicons.io/segoe-mdl2/cheatsheet/,找到你要的图标
<ListViewItem>
<ListViewItem.Content>
<Grid>
<view:SplitViewItem IconString="" Text="设置"></view:SplitViewItem>
</Grid>
</ListViewItem.Content>
</ListViewItem>
因为每次都需要找汉堡,所以我就做模板
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="50"/>
<RowDefinition Height="15*"/>
</Grid.RowDefinitions>
<Grid Grid.Row="0">
<ToggleButton x:Name="SplitToggleButton" >
<ToggleButton.Content>
<TextBlock FontFamily="Segoe MDL2 Assets" Text=""></TextBlock>
</ToggleButton.Content>
</ToggleButton>
</Grid>
<SplitView Grid.Row="1" IsPaneOpen="{Binding ElementName=SplitToggleButton,Path=IsChecked,Mode=TwoWay}"
DisplayMode="CompactOverlay" OpenPaneLength="100"
CompactPaneLength="50" >
<SplitView.Pane>
<Grid>
</Grid>
</SplitView.Pane>
<SplitView.Content>
<Grid>
<Frame ></Frame>
</Grid>
</SplitView.Content>
</SplitView>
</Grid>
本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。欢迎转载、使用、重新发布,但务必保留文章署名林德熙(包含链接:http://blog.csdn.net/lindexi_gd ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。如有任何疑问,请与我联系。
win10 uwp 自定义控件 SplitViewItem的更多相关文章
- win10 uwp 自定义控件初始化
我遇到一个问题,我在 xaml 用了我的自定义控件,但是我给他设置了一个值,但是什么时候我才可以获得这个值? 本文告诉大家,从构造函数.loaded.Initialized 的调用过程. 用最简单的方 ...
- win10 uwp 入门
UWP是什么我在这里就不说,本文主要是介绍如何入门UWP,也是合并我写的博客. 关于UWP介绍可以参见:http://lib.csdn.net/article/csharp/32451 首先需要申请一 ...
- Win10 UWP开发系列:使用VS2015 Update2+ionic开发第一个Cordova App
安装VS2015 Update2的过程是非常曲折的.还好经过不懈的努力,终于折腾成功了. 如果开发Cordova项目的话,推荐大家用一下ionic这个框架,效果还不错.对于Cordova.PhoneG ...
- Win10 UWP开发系列:实现Master/Detail布局
在开发XX新闻的过程中,UI部分使用了Master/Detail(大纲/细节)布局样式.Win10系统中的邮件App就是这种样式,左侧一个列表,右侧是详情页面.关于这种 样式的说明可参看MSDN文档: ...
- Win10 UWP开发实现Bing翻译
微软在WP上的发展从原来的Win7到Win8,Win8.1,到现在的Win10 UWP,什么是UWP,UWP即Windows 10 中的Universal Windows Platform简称.即Wi ...
- Win10/UWP开发—使用Cortana语音与App后台Service交互
上篇文章中我们介绍了使用Cortana调用前台App,不熟悉的移步到:Win10/UWP开发—使用Cortana语音指令与App的前台交互,这篇我们讲讲如何使用Cortana调用App的后台任务,相比 ...
- 【Win10 UWP】后台任务与动态磁贴
动态磁贴(Live Tile)是WP系统的大亮点之一,一直以来受到广大用户的喜爱.这一讲主要研究如何在UWP应用里通过后台任务添加和使用动态磁贴功能. 从WP7到Win8,再到Win10 UWP,磁贴 ...
- 【Win10 UWP】URI Scheme(一):Windows Store协议的解析和使用
协议是Windows Phone和Windows Store应用的一个重要特点,可以做到在不同应用之间进行互相呼起调用.小小协议,学问大着呢.我打算写几篇关于协议在UWP中使用的文章. 这一讲的主要对 ...
- 【Win10 UWP】QQ SDK(二):SDK的回调处理
上一讲,我们介绍了QQ SDK的使用方法,请看<[Win10 UWP]QQ SDK(一):SDK基本使用方法> 一. 回调的基本形式 从前面的介绍中我们知道,我们的应用和QQ客户端之间需要 ...
随机推荐
- 201521123099《java程序设计》第五周学习总结
本周学习总结 1.1 尝试使用思维导图总结有关多态与接口的知识点. 2. 书面作业 代码阅读:Child压缩包内源代码 1.1 com.parent包中Child.java文件能否编译通过?哪句会出现 ...
- 201521123061 《Java程序设计》第三周学习总结
1. 本章学习总结 2. 书面作业 **Q1.代码阅读 public class Test1 { private int i = 1;//这行不能修改 private static int j = 2 ...
- 201521123013 《Java程序设计》第1周学习总结
1. 本章学习总结 1.Java是面向对象的编程语言,它在通过jvm和jre将其转成本地机器代码,达到一次撰写,到处运行的效益,实现跨平台运行,代码开源,使用范围广. 2.了解jdk.jre.jvm的 ...
- 201521123105 《Java程序设计》第1周学习总结
1.学习总结 简单学习jave 了解并区分JVM JRE JDK 了解JAVA语言的发展史 2.书面作业 Q:为什么java程序可以跨平台运行?执行java程序的步骤是什么?( ...
- linux c函数指针的应用
头文件:1.h #include<stdio.h> int nul_func(); int test1(int a,int b); int test2(int a,int b,int c) ...
- python并发编程之协程
---恢复内容开始--- 一.join方法 (1)开一个主线程 from threading import Thread,currentThread import time def walk(): p ...
- Lucene第二篇【抽取工具类、索引库优化、分词器、高亮、摘要、排序、多条件搜索】
对Lucene代码优化 我们再次看回我们上一篇快速入门写过的代码,我来截取一些有代表性的: 以下代码在把数据填充到索引库,和从索引库查询数据的时候,都出现了.是重复代码! Directory dire ...
- AngularJS -- Module (模块)
点击查看AngularJS系列目录 转载请注明出处:http://www.cnblogs.com/leosx/ 什么是AngularJS的模块 我们所说的模块,是你的AngularJS应用程序的一个组 ...
- python之gui-tkinter可视化编辑界面 自动生成代码
首先提供资源链接 http://pan.baidu.com/s/1kVLOrIn#list/path=%2F
- ios小型服务器环境配置
之前买的一台二手iphone4退役了,上闲鱼上一看,就值200,而且耳机声音也有点轻,估计买不了什么钱 于是网上看看能不能有什么废物利用的法子,看到说做行车记录仪的,有说做git服务器的,感觉挺有兴趣 ...