[首页]
[文章]
[教程]
首页
Web开发
Windows开发
编程语言
数据库技术
移动平台
系统服务
微信
设计
布布扣
其他
数据分析
首页
>
其他
> 详细
UWP
时间:
2020-04-05 13:21:55
阅读:
68
评论:
0
收藏:
0
[点我收藏+]
布局标签
Grid:
大布局
(
整体局部设计
)
的时候使用
属性标签
<Grid.RowDefine/>
和
<Grid.ColumnDefine
/
>
用来
Grid
布局的行与列
如果属性它的属性标签中有
Height="*"
表示占用全部剩余的高度
(
此特性非常实用
),
如果是
Height="1*"
和
Height="2*"
表示按照
1:2
的比例分配空间
StackPanel:
小布局的时候使用
(
在一个
Button
中左边显示
icon,
右边显示文字
)
RelativePanel:
在
RelativePanel
中
,
子控件可以设置相对于该
RelativePanel
的位置
(
实用
)
凡是布局标签
,
标签内部可以写多个字标签
,
其余标签内部只能一个
,
如果要写多个
,
需要添加
Grid
或者
StackPanel
Grid
与
StackPanel
的区别
, Grid
的可以覆盖
(
控件在Z轴堆叠
),
但是
StackPanel
不行
,
它只能再找规定的水平或者垂直的方向堆起来
? ?
控件标签
Button
TextBlock
TextBox:
文字输入框
AutoSuggestionBox:
带有搜索功能的
TextBox
SplitView
SplitPane:
左侧部分
SplitContent:
右侧部分
设置相应的属性可以实现弹出和收回的动画效果
Image:
通过
Source
属性指定
,
路径为
"ms-appx:///Assets/…",
要将图片文件拖到项目中的
Assets
目录中
ProcessBar
ProcessRing:
就是微软最变态的进度显示
Slider
DatePick
Flyout:
只有支持
Flyout
属性标签的才可以使用
(
如
Button)
Frame:
显示
Page
对象
,
在UWP中
, Application
包含着
Window, Window
包含着
Frame, Frame
中包含着我们项目默认编辑的
MainPage,
如果要跳转到其他
Page,
需要在要显示的地方使用
Frame
标签表明
,
在
C#
代码中引用到该
Frame
并调用其
Navigate(typeof(TargetPage))API
实现导航
Frame
还有
GoForward(), GoBackward(), CanGoForward, CanGoBack
等导航
API
? ?
标签的引用
为标签设置
Name
属性
,
在
C#
代码中可以通过名字直接引用
? ?
API
ObservableCollection: UWP
可以检测里面的数据的变化
,
将数据显示到界面上
,
就是
MVVM
中的动态数据绑定
? ?
用户控件
在
VS
中创建
UserControl,
以后可以重用
? ?
权限
要在
UWP
中获取相应的权限
,
需要在项目的
Package.appxmanifest
文件中修改配置
, VS
可以提供
GUI
的配置
? ?
UWP
中实现
MVVM
因为
UWP
是一个
xaml
文件对应一个文件
,
为了解耦
,
需要引入
MVVM
xaml
为
View
要在
UI
上显示的数据是
ViewModel
与数据库进行交互的是
Model
因为
C#
没有原生支持数据动态绑定和命令的单项绑定
,
需要通过
C#
提供的
API
实现
创建一个
NotificationObject
实现
INotifyPropertyChanged
接口
,
该类可以监听到数据的变化
创建一个新的方法
RaisePropertyChanged(string propertyName),
在方法体中
if (PropertyChanged != null) { PropertyChanged(this, new PropertyChangedEventArgs(propertyName)) }
PropertyChanged
是实现
INotifyPropertyChanged
需要的
,
当
UI
中的
x:Bind
监听到数据变化的时候它就不为
null,
调用该事件修改
UI
上要显示的数据
(
数据是对象中
propertyName
的值
)
创建一个
DelegateCommand
实现
ICommand
接口
,
该类可以监听是否可以执行某个动作
要实现
CanExecute(object parameter)[
用来判断是否可以执行
], Execute(object parameter)[
逻辑
]
为了避免冗余
,
添加
Action<object> _execute
属性和
Func<object, bool> _canExecute
属性
,
并添加在构造方法中
,
让用户可以通过传递委托的形式进行何时执行以及执行的内容
,
在
CanExecute
方法中使用
_execute
判断是否执行
,
返回
true
就是可以执行
,
返回
false
就是不可以执行。在
Execute
中执行
_execute
方法
这样就只需要一个
DelegateCommand,
通过传递不同的
_execute
和
_canExecute
实现逻辑了
DelegateCommand
和
NotificationObject
都写在
ViewModels
中
,
因为它们是与
View
进行交互的
在标签中使用
{x:Bind MainPageViewModel.Person.Name,Mode=TwoWay}
进行双向绑定
,
使用
{Command: MainPageViewModel.AddCommand}
实现命令
(
事件
)
?
?
UWP
原文:https://www.cnblogs.com/megachen/p/12636354.html
踩
(
0
)
赞
(
0
)
举报
评论
一句话评论(
0
)
登录后才能评论!
分享档案
更多>
2021年09月23日 (328)
2021年09月24日 (313)
2021年09月17日 (191)
2021年09月15日 (369)
2021年09月16日 (411)
2021年09月13日 (439)
2021年09月11日 (398)
2021年09月12日 (393)
2021年09月10日 (160)
2021年09月08日 (222)
最新文章
更多>
2021/09/28 scripts
2022-05-27
vue自定义全局指令v-emoji限制input输入表情和特殊字符
2022-05-27
9.26学习总结
2022-05-27
vim操作
2022-05-27
深入理解计算机基础 第三章
2022-05-27
C++ string 作为形参与引用传递(转)
2022-05-27
python 加解密
2022-05-27
JavaScript-对象数组里根据id获取name,对象可能有children属性
2022-05-27
SQL语句——保持现有内容在后面增加内容
2022-05-27
virsh命令文档
2022-05-27
教程昨日排行
更多>
1.
list.reverse()
2.
Django Admin 管理工具
3.
AppML 案例模型
4.
HTML 标签列表(功能排序)
5.
HTML 颜色名
6.
HTML 语言代码
7.
jQuery 事件
8.
jEasyUI 创建分割按钮
9.
jEasyUI 创建复杂布局
10.
jEasyUI 创建简单窗口
友情链接
汇智网
PHP教程
插件网
关于我们
-
联系我们
-
留言反馈
- 联系我们:wmxa8@hotmail.com
© 2014
bubuko.com
版权所有
打开技术之扣,分享程序人生!