Image组件
image组件的source属性可以添加图片,Stretch可以改变图片缩放属性。
通过按钮更换图片:
private void button1_Click(object sender, RoutedEventArgs e) { BitmapImage myImage = new BitmapImage(new Uri("/PhoneApp1;component/Images/002.jpg", UriKind.Relative)); image1.Source = myImage; }
HypelinkButton
通过NavigateUri属性输入 /工程名;component/文件属性/导航页名称.xaml。
如果HypelinkButton的NavigateUri路径是/asp;component/Views/Page1.xaml?id=2
点击该空间
则
private void textBlock1_Loaded(object sender, RoutedEventArgs e)
{
textBlock1.Text = string.Format("vaule{0}", NavigationContext.QueryString["id"]);
}
进入新的页面,名称为textBlock控件显示字符为“1”。
<phone:PhoneApplicationPage.ApplicationBar>
<shell:ApplicationBar IsVisible="True" IsMenuEnabled="True">
//图标Uri路径 Click事件
<shell:ApplicationBarIconButton IconUri="/Image/appbar.minus.rest.png" Text="new" Click="ApplicationBarIconButton_Click"/>
<shell:ApplicationBarIconButton IconUri="/Image/appbar.new.rest.png" Text="new" Click="ApplicationBarIconButton_Click_1"/>
//下拉菜单
<shell:ApplicationBar.MenuItems>
//下拉菜单内容选项
<shell:ApplicationBarMenuItem Text="1"/>
<shell:ApplicationBarMenuItem Text="2"/>
<shell:ApplicationBarMenuItem Text="3"/>
<shell:ApplicationBarMenuItem Text="4"/>
<shell:ApplicationBarMenuItem Text="5"/>
<shell:ApplicationBarMenuItem Text="6"/>
<shell:ApplicationBarMenuItem Text="7"/>
<shell:ApplicationBarMenuItem Text="8"/>
</shell:ApplicationBar.MenuItems>
</shell:ApplicationBar>
</phone:PhoneApplicationPage.ApplicationBar>
弹出窗口
<Grid x:Name="LayoutRoot" Background="Transparent">
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="696"/>
</Grid.RowDefinitions>
<!--TitlePanel 包含应用程序的名称和页标题-->
<!--ContentPanel - 在此处放置其他内容-->
<Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0">
//Open按钮
<Button Content="Open"
Name="openButton"
Height="72"
HorizontalAlignment="Left"
VerticalAlignment="Top"
Margin="150,200,0,0,"
Width="160"
//Open按钮事件
Click="openButton_Click"/>
</Grid>
//一块画布
<Canvas Name="myDialog"
Height="438"
Width="427"
HorizontalAlignment="Left"
VerticalAlignment="Top"
Margin="24,48,0,0" Background="#FFFC0000"
Visibility="Collapsed">//使画布成为收缩状态 屏幕上不显示
// 画布上的文字板
<TextBlock Name="instructionsTextBlock"
HorizontalAlignment="Left"
VerticalAlignment="Top"
Height="50"
Width="400"
Text="**********************************"
TextAlignment="Left"
TextWrapping="Wrap"/>
//画布上的Close按钮
<Button Name="closeButton"
Content="Close"
Height="70"
Width="200"
Margin="125,300"
Click="closeButton_Click"
/>
</Canvas>
</Grid>
通过Open按钮让画布内容显示:
private void openButton_Click(object sender, RoutedEventArgs e)
{
// ( 修改vistbility属性的值 )
myDialog.Visibility = System.Windows.Visibility.Visible;
}
再通过画布的Close按钮Click让画布隐藏:
private void closeButton_Click(object sender, RoutedEventArgs e)
{
//( 修改vistbility属性的值 )
myDialog.Visibility = System.Windows.Visibility.Visible;
}
代码的位置也会影响控件的图层位置,xmal下面控件代码的图层在上,上边控件的代码与上相反。
独立存储
一下定义了三个按钮和一个textbox
<Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0">
<TextBox Height="268"
HorizontalAlignment="Left"
Name="infoTextBox"
Text=""
VerticalAlignment="Top"
Width="480"
TextWrapping="NoWrap"
VerticalScrollBarVisibility="Auto"/>
<Button Content="Save"
Height="72"
HorizontalAlignment="Left"
Margin="6,280,0,0"
Name="button1"
VerticalAlignment="Top"
Width="147"
Click="save_Click"/>
<Button Content="Clear"
Height="72"
HorizontalAlignment="Left"
Margin="159,280,0,0"
Name="button2"
VerticalAlignment="Top"
Width="147"
Click="clear_Click"/>
<Button Content="Open"
Height="72"
HorizontalAlignment="Left"
Margin="308,280,0,0"
Name="button3"
VerticalAlignment="Top"
Width="147"
Click="open_Click"/>
</Grid>
</Grid>
以上定义的三个按钮 save、clear和open还有一个textbox
save保存textbox上输入的文字,
clear清屏文字,
open打开保存的文字。
这些功能需要对按钮的事件编写代码如下:
public partial class MainPage : PhoneApplicationPage
{
// 构造函数
public MainPage()
{
InitializeComponent();
}
//保存按钮的click事件保存textbox上的内容
private void save_Click(object sender, RoutedEventArgs e)
{
// 定义一个var形变量appStorage保存来自用户程序的独立存储文件
var appStorage = IsolatedStorageFile.GetUserStoreForApplication();
string fileName = "simple.txt";
//用var变量file保存appStorage打开的文件,OpenFile 方法用于提供一种从对话框快速打开文件的功能。出于安全目的,以只读方式打开文件。若要以读/写模式打开文件,必须使用其他方法,指定操作系统应打开文件(如果文件存在);否则,应创建新文件。如果用 FileAccess.Read 打开文件,则需要FileIOPermissionAccess.Read。如果文件访问为 FileAccess.Write,则需要FileIOPermissionAccess.Write。如果用 FileAccess.ReadWrite 打开文件,则同时需要FileIOPermissionAccess.Read 和FileIOPermissionAccess.Write。如果文件访问为 FileAccess.Append,则需要FileIOPermissionAccess.Append。
using (var file = appStorage.OpenFile(fileName, System.IO.FileMode.OpenOrCreate, System.IO.FileAccess.Write))
{
//用上边定义的file变量为下面定义的writer的流初始化StreamWriter 类的一个新实例。
using (var writer = new StreamWriter(file))
{
//把textbox上输入的内容写入到writer对象中,完成了把textbox上的内容写入到独立存储区当中。
writer.Write(infoTextBox.Text);
}
}
}
//清除textbox文字
private void clear_Click(object sender, RoutedEventArgs e)
{
infoTextBox.Text = "";
}
//打开保存的内容显示在textbox上
private void open_Click(object sender, RoutedEventArgs e)
{
using (IsolatedStorageFile store = IsolatedStorageFile.GetUserStoreForApplication())
{
//使用StreamReader 读取标准文本文件的各行信息。
using (StreamReader sr = new StreamReader(store.OpenFile("simple.txt", FileMode.Open, FileAccess.Read)))
{
//输出保存的文本信息
infoTextBox.Text = sr.ReadToEnd();
}
}
}
}