博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
《ListBox》———设计预览效果
阅读量:6094 次
发布时间:2019-06-20

本文共 9615 字,大约阅读时间需要 32 分钟。

写这篇文章,只是弥补我健忘的脑袋,以免以后用得到的时候浪费时间查找。

一、我们建立一个独立文件夹 Design

      这个文件夹只是用来保存设计的一些资源,没有什么的特别的

二、创建一个设计模型解析类 SampleData.cs 和 资源数据类 SampleData.xaml

      为了方便起见,可以创建一个page,原因创建一个page是含有page.xaml和page.cs两个文件。接着我们把2个文件中的信息全部删除掉,

使用下面的代码替换。

SampleData.xaml

1 
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196

SampleData.cs

1 namespace Expression.Blend.Design  2 {  3     using System;  4     using System.Windows;  5     using System.ComponentModel;  6     using System.Collections.ObjectModel;  7   8     public class Note : INotifyPropertyChanged  9     { 10         #region --- INotifyPropertyChanged --- 11  12         public event PropertyChangedEventHandler PropertyChanged; 13  14         protected virtual void OnPropertyChanged(string propertyName) 15         { 16             if (PropertyChanged != null) 17             { 18                 PropertyChanged(this, new PropertyChangedEventArgs(propertyName)); 19             } 20         } 21  22         #endregion 23  24         #region --- define properties --- 25  26         private string _Title = string.Empty; 27  28         public string Title 29         { 30             get 31             { 32                 return this._Title; 33             } 34  35             set 36             { 37                 if (this._Title != value) 38                 { 39                     this._Title = value; 40                     this.OnPropertyChanged("Title"); 41                 } 42             } 43         } 44  45         private string _CreationTime = string.Empty; 46  47         public string CreationTime 48         { 49             get 50             { 51                 return this._CreationTime; 52             } 53  54             set 55             { 56                 if (this._CreationTime != value) 57                 { 58                     this._CreationTime = value; 59                     this.OnPropertyChanged("CreationTime"); 60                 } 61             } 62         } 63  64         private string _Content = string.Empty; 65  66         public string Content 67         { 68             get 69             { 70                 return this._Content; 71             } 72  73             set 74             { 75                 if (this._Content != value) 76                 { 77                     this._Content = value; 78                     this.OnPropertyChanged("Content"); 79                 } 80             } 81         } 82  83         #endregion 84     } 85  86     public class NoteCollection : ObservableCollection
87 { 88 89 } 90 91 public class NoteBook : INotifyPropertyChanged 92 { 93 #region --- INotifyPropertyChanged --- 94 95 public event PropertyChangedEventHandler PropertyChanged; 96 97 protected virtual void OnPropertyChanged(string propertyName) 98 { 99 if (PropertyChanged != null)100 {101 PropertyChanged(this, new PropertyChangedEventArgs(propertyName));102 }103 }104 105 #endregion106 107 public NoteBook()108 {109 try110 {111 Uri resourceUri = new Uri("/LxhListBoxDemo;component/Design/SampleData.xaml", UriKind.Relative);112 if (Application.GetResourceStream(resourceUri) != null)113 {114 Application.LoadComponent(this, resourceUri);115 }116 }117 catch (Exception)118 { 119 120 }121 }122 123 #region --- define properties ---124 125 private NoteCollection _NoteCollection = new NoteCollection();126 public NoteCollection NoteCollection127 {128 get { return _NoteCollection; }129 set 130 {131 if (_NoteCollection != value)132 {133 _NoteCollection = value;134 OnPropertyChanged("NoteCollection");135 }136 }137 }138 139 #endregion140 }141 }

备注:SampleData.cs的命名空间Expression.Blend.Design,在xaml使用时要先添加引用

三、建立一个csd文件 SampleData.xsd

SampleData.xsd代码如下

1 
2 3
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23

以上文件都放在文件夹Design下

四、App文件引用Design文件下的资源

1 
8 9
10
11
12
13
14
15 16 ..........................17 18

五、使用资源页面的DataContent绑定到资源上就可以了。

1 
16 17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49 50
51
52
53
54
55
56 57
58
59
60
61
62 63
64
65
66
67
68 69
70
80 81

到此就完成了。

 

源代码:

 

转载于:https://www.cnblogs.com/qq278360339/archive/2012/06/29/2569855.html

你可能感兴趣的文章
Jenkins持续集成环境部署
查看>>
emoji等表情符号存mysql的方法
查看>>
Excel到R中的日期转换
查看>>
检查磁盘利用率并且定期发送告警邮件
查看>>
MWeb 1.4 新功能介绍二:静态博客功能增强
查看>>
linux文本模式和文本替换功能
查看>>
Windows SFTP 的安装
查看>>
摄像机与绕任意轴旋转
查看>>
rsync 服务器配置过程
查看>>
查看linux发行版本方法
查看>>
写CV中
查看>>
【原】用PHP搭建基于swoole扩展的socket服务(附PHP扩展的安装步骤及Linux/shell在线手册)...
查看>>
jquery仿凡客诚品图片切换的效果实例代码
查看>>
alarm rtc
查看>>
SGMII
查看>>
预处理、const与sizeof相关面试题
查看>>
爬虫豆瓣top250项目-开发文档
查看>>
Elasticsearch增删改查
查看>>
oracle归档日志增长过快处理方法
查看>>
有趣的数学书籍
查看>>