Windows phone 之 UserControl的应用
一、新建一个UserControl.xaml页面 MyUserControl.xaml
添加代码如下:
<UserControl x:Class="bodypicture.MyUserControl"
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"
mc:Ignorable="d"
FontFamily="{StaticResource PhoneFontFamilyNormal}"
FontSize="{StaticResource PhoneFontSizeNormal}"
Foreground="{StaticResource PhoneForegroundBrush}"
d:DesignHeight="480" d:DesignWidth="480">
<Grid x:Name="LayoutRoot">
<Grid x:Name="ContentPanel" Grid.Row="1" Margin="0,0,12,0">
<Image Canvas.ZIndex="4" Name="image1" Stretch="Fill" Width="200" Height="200" Margin="52,255,216,313">
<Image.RenderTransform>
<SkewTransform AngleX="0" AngleY="0" CenterX="0" CenterY="0"></SkewTransform>
</Image.RenderTransform>
</Image>
<Image Name="image2" Height="200" Stretch="Fill" Margin="252,256,66,312">
<Image.RenderTransform>
<TransformGroup>
<SkewTransform AngleX="0" AngleY="-20" CenterX="0" CenterY="0">
</SkewTransform>
</TransformGroup>
</Image.RenderTransform>
</Image>
<Image Name="image3" Source="image/3.png" Width="210" Height="50" Stretch="Fill" Margin="187,206,71,512">
<Image.RenderTransform>
<TransformGroup>
<SkewTransform AngleX="-70" AngleY="0" CenterX="0" CenterY="0">
</SkewTransform>
</TransformGroup>
</Image.RenderTransform>
</Image>
</Grid>
</Grid>
</UserControl>
这样就可以在另一个页面Page1.xaml直接引用该UserContro.xaml页面了。
二、在Page1.xaml页面中。
之前,添加命名空间
xmlns:my="clr-namespace:bodypicture"
<!--LayoutRoot 是包含所有页面内容的根网格-->
<Grid x:Name="LayoutRoot" Background="LightPink">
<toolkit:GestureService.GestureListener>
<toolkit:GestureListener DragStarted="OnGestureListenerDragStarted"
DragDelta="OnGestureListenerDragDelta"
DragCompleted="OnGestureListenerDragCompleted"
/>
</toolkit:GestureService.GestureListener>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<!--ContentPanel - 在此处放置其他内容--> ////就是这一句了××××××××××××××××××××××××××××××××××××××××××××
<my:MyUserControl></my:MyUserControl>
</Grid>
刚开始,我在Page1.xaml.cs
添加如下代码:
MyUserControl u = new MyUserControl(); u.image1.Source = new BitmapImage(new Uri(image_array[imgi], UriKind.Relative)); u.image2.Source = new BitmapImage(new Uri(image_array[imgj], UriKind.Relative));
运行程序,发现图片没有显示,经过若干挣扎。。才发现,
我不能这么写:MyUserControl u = new MyUserControl();因为这相当于重新实例化了一个类MyUserControl,不再是Page1.xaml的UserControl了,这样怎么会显示数据呢?
所以,修改如下:
<my:MyUserControl x:Name="userControl"></my:MyUserControl>
给MyUserControl命名。
然后,在Page1.xaml.cs中就可以直接使用了,不用实例化了。
userControl.image1.Source = new BitmapImage(new Uri(image_array[imgi], UriKind.Relative)); userControl.image2.Source = new BitmapImage(new Uri(image_array[imgj], UriKind.Relative));
ok,图片成功显示。
当然,也可以在MyUserControl.XAML.CS页面中,定义属性。
private string image11;
public string Image1
{
get { return image11; }
set
{
image11 = value;
BitmapImage bit1 = new BitmapImage(new Uri(image11, UriKind.Relative));
image1.Source = bit1;
}
}
private string image22;
public string Image2
{
get { return image22; }
set
{
image22 = value;
image2.Source = new BitmapImage(new Uri(image22, UriKind.Relative));
}
}
这样,在Page1.xaml.cs中或者Page1.xaml中都可以使用Image1、Image2属性进行设置他们的图片来源。
这就需要根据情况进行选择了。
Windows phone 之 UserControl的应用的更多相关文章
- [個人紀錄] windows form , usercontrol design 模式不見
windows form 跟 usercontrol 都變成cs檔 無法點擊進入設計模式 <Compile Include="Form1.cs"/> <Compi ...
- silverlight ListBox 多列图片效果
这个功能之前用wpf写过一次这次用Silverlight写一次 这两种写法上基本上没有太大的差别 这个Demo并不完美,只是给大家提供一个思路 源码:SilverLightListPricture.r ...
- wpf中,一个简单的自定义treeview
首先创建一个自定义控件,在里面定义好treeview的样式,将本来的三角形的图标变为加号的图标,并且添加节点之间的连线. <UserControl x:Class="TreeViewE ...
- 基于WPF系统框架设计(9)-多值绑定之IMultiValueConverter
应用场景 我想把View层的一个布局控件和功能按钮传到ViewModel层,达到动态变更布局,同时灵活获取功能按钮的属性,让View和ViewModel完全分离,而不受View层影响. 最后我想到使用 ...
- WPF实现软键盘
wpf 实现一个软键盘, 先发个图: 工作有需要实现一个软键盘,本来想用windows自带的软键盘凑合凑合得了,又觉得那个软键盘太大了,所以自己实现了一个. 说一下实现的思路,其实没什么思路 界面就是 ...
- 用户控件的设计要点 System.Windows.Forms.UserControl
用户控件的设计要点 最近的项目中有一个瀑布图(彩图)的功能,就是把空间和时间上的点量值以图的形式呈现出来,如下图: X坐标为空间,水平方向的一个像素代表一个空间单位(例如50米) Y坐标为时间,垂直方 ...
- 背水一战 Windows 10 (77) - 控件(控件基类): ContentControl, UserControl, Page
[源码下载] 背水一战 Windows 10 (77) - 控件(控件基类): ContentControl, UserControl, Page 作者:webabcd 介绍背水一战 Windows ...
- Windows phone 自定义用户控件(UserControl)——ColorPicker
编码前 学习Windows phone自定义用户控件,在<WPF编程宝典>学习的小例子.并根据windows phone稍微的不同,做了点修改.ColorPicker(颜色拾取器):拥有三 ...
- [Windows Phone学习笔记]UserControl的使用
UserControl的使用 开发过程中,多个UI控件需要协同工作,相互交互之后,才可完成一个完整的业务需求,此时可把这些控件封装成为一个整体,相互之间的交互逻辑封装其中,外部调用可无需关心内部逻辑, ...
随机推荐
- 2010 A B 2011 A B
湖南人文科技学院公共课 2010---2011学年第1学期<中国近代史纲要>课程考核试卷(A) 考核方式: (闭卷) ...
- 我的第一个JApplet-绘制笑脸
初学Java,有很多东西都不太理解,但是我想以前初学C语言的时候也是不太懂,先参考着书上的程序写,然后用多了就自然而然的懂了! 下面来简单的介绍一下我自学的第一个Java小应用程序-绘制笑脸,下面是源 ...
- chgrp、chown、chmod命令
讲解内容: 权限代号的含义如下: r:读写目录或文件的权限 read w :写入目录或文件的权限 write x :执行目录或文件的权限 -:删除目录或文件的权限 s:特殊权限,更改目录或文件 ...
- Lottery - CodeForces 589I(水)
题目大意:有N个球K个人,现在要给这N个球涂上K种颜色,要求使抽到球的不同颜色的概率一致(N确保是K的倍数),求出来至少要给多少个球重新涂上颜色. 分析:先求出来所有球的每种颜色的个数,然后不到平均数 ...
- Android4.0 以后不允许在主线程进行网络连接
Android4.0 以后不允许在主线程进行网络连接,否则会出现 android.os.NetworkOnMainThreadException.因此,必须另起一个线程进行网络连接方面的操作. pac ...
- PostgreSQL相关的软件,库,工具和资源集合
PostgreSQL相关的软件,库,工具和资源集合. 备份 wal-e - Simple Continuous Archiving for Postgres to S3, Azure, or Swif ...
- jquerymobile知识点:select的动态帮定
代码: <div data-role="navbar"> <ul> <li> <select name="select-choi ...
- Android源代码之Gallery专题研究(1)
前言 时光飞逝,从事Android系统开发已经两年了,总想写点什么来安慰自己.思考了非常久总是无法下笔,认为没什么好写的.如今最终决定写一些符合大多数人需求的东西,想必使用过Android手机的人们一 ...
- eclipse通过classpath variable引用类库
众所周知.eclipse的project bulid path中能够引用第三方类库(如图1). 图1 可是这样的方式有个缺点:对类库的引用是通过绝对路径.假设有两台电脑(办公室1台.家1台),非常可能 ...
- CSS 边框 阴影 效果
CSS 边框 阴影 效果 以下将css实现阴影效果,以便须要朋友们,直接上代码 #shadow1{ width: 200px; height: 100px; color: white; backgro ...