视频地址: XAML中为对象属性赋值的语法
”表示声明一个窗体对象。 <Button Width="100" Height="30"/>
若属性不是字符串格式,应该怎么办呢?这个时候需要将value转换为属性类型,并赋值给对象。
namespace HelloWPF
{
public class Animal
{
public string name { get; set; }
public Animal animal { get; set; }
}
}
<Window x:Class="HelloWPF.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:HelloWPF"
Title="MainWindow" Height="350" Width="525">
Window>
<Window.Resources>
<local:Animal x:Key="animal" name="Hello Ketty">local:Animal>
Window.Resources>
:以字典的形式维护一系列资源。
Animal cat = this.FindResource("animal") as Animal;
MessageBox.Show(cat.name);
<Window.Resources>
<local:Animal x:Key="animal" Name="Hello Ketty" animal="Doggy">local:Animal>
Window.Resources>
public class Animal
{
public string Name { get; set; }
public Animal animal { get; set; }
}
public class NameToAnimalTypeConverter : TypeConverter
{
public override object ConvertFrom(ITypeDescriptorContext context, System.Globalization.CultureInfo culture, object value)
{
string name = value.ToString();
Animal animal = new Animal();
animal.Name = name;
return animal;
}
}
Animal cat = this.FindResource("animal") as Animal;
if (cat != null)
MessageBox.Show(cat.animal.Name);
普通字符串的赋值,在封闭标签中使用Attribute=Value即可。若要对属性赋值复杂对象,可在标签内容中声明。
<Rectangle Width="30" Height="30" Stroke="DarkGreen" Fill="LightGreen"/>
以上语句实例化了一个方块:
若要将此方块放入Button的内容中,可对Button的Content属性进行赋值:
<Button Name="button" Width="150" Height="50">
<Button.Content>
<Rectangle Width="30" Height="30" Stroke="DarkGreen" Fill="LightGreen"/>
Button.Content>
Button>
首先在资源中定义一个string变量,为了定义该变量,我们引用命名空间
xmlns:sys="clr-namespace:System;assembly=mscorlib"
定义变量helloString
<Window.Resources>
<sys:String x:Key="stringHello">Hello WPF!sys:String>
Window.Resources>
在button的Content属性中通过扩展标签引用该变量:
<Button Name="button1" Width="150" Height="50" Content="{StaticResource ResourceKey=stringHello}"/>