视频二:XAML基础
1.顶级元素 <Window></Window>,<Page></Page>,<Application></Application>
2. 名称空间 很重要。 默认名称空间:xmlns="" ; 另外名称空间: xmlns:x="" ; x是名称空间前缀
x:Class="WpfApplication1.MainWindow" 是继续自Window类。
3. 简单属性:
实例1:简单属性
<Grid Name="Grid1"></Grid>
this.Title=this.Grid1.Name;
实例2:复杂属性,属性元素的方法
<Grid >
<Grid.Name>Grid1</Grid.Name>
<Button></Button>
</Grid>
4. 渐变的颜色
<Grid Name="Grid1">
<Grid.Background>
<LinearGradientBrush>
<LinearGradientBrush.GradientStops>
<GradientStop Offset="0.00" Color="Red"/>
<GradientStop Offset="0.50" Color="Indigo"/>
<GradientStop Offset="1.00" Color="Violet"/>
</LinearGradientBrush.GradientStops>
</LinearGradientBrush>
</Grid.Background>
</Grid>
5. 附加的属性
<Button Content="Button1" HorizontalAlignment="Left" Margin="215,60,0,0" VerticalAlignment="Top" Width="75"/>
<Button Content="Button2" Grid.Row="1" HorizontalAlignment="Left" Margin="215,38,0,0" VerticalAlignment="Top" Width="75"/>
<Button Content="Button3" Grid.Row="2" HorizontalAlignment="Left" Margin="215,47,0,0" VerticalAlignment="Top" Width="75" />
其中:Grid.Row 默认从0开始,默认不写, 这是一个附加属性。
6.特殊字符
特殊字符串‘<’使用 ‘<’代替 ,特殊字符串‘>’使用 ‘>’代替
空格字符:xml:space="preserve" 添加属性,可以完整显示空格。
<TextBox HorizontalAlignment="Left" Height="23" TextWrapping="Wrap" VerticalAlignment="Top" Width="465" xml:space="preserve">where this is " "...</TextBox>
7. XAML事件
<Button Content="Button1" HorizontalAlignment="Left" Margin="215,60,0,0" VerticalAlignment="Top" Width="75" Click="Button_Click"/>
按钮的单击事件
视频三:只使用代码创建WPF应用程序(缺点,慢;优点,自由。)
补充知识点:使用partial关键字的类是可以互相补充的类。 关键WPF有三种方式:a.仅使用代码创建;b.仅使用页面创建;c.两者结合,相互补充。
using System.Windows; using System.Windows.Controls; using System.Windows.Markup; namespace _2014_10_09_WPF { class Window1:Window { private Button button1; public Window1() { InitializeComponent(); } private void InitializeComponent() { //设置窗体 this.Width = 285; this.Height = 250; this.Left = this.Top = 100; this.Title = "Code_Only Window"; //创建停靠面板对象 DockPanel panel = new DockPanel(); //创建按钮对象 button1 = new Button(); button1.Content = "Please click me."; button1.Margin = new Thickness(30); //事件 button1.Click+=button1_Click; ////添加控件 IAddChild container = panel; container.AddChild(button1); container = this; container.AddChild(panel); } private void button1_Click(object sender,RoutedEventArgs e) { button1.Content = "Thank you."; } } }