WPF控件2
CheckBox復選框用于勾選或者勾掉某一個選項,在后臺代碼中表現(xiàn)為一個布爾型值,使用IsChecked=”True”屬性設(shè)置默認勾選,再沒別的屬性好用的了
XAMl:
<StackPanel>
<CheckBox Content="Enable feature ABC" Background="AliceBlue" BorderThickness="3"
BorderBrush="CornflowerBlue"></CheckBox>
<CheckBox IsChecked="True">Enable feature XYZ</CheckBox>
<CheckBox>Enable feature WWW</CheckBox>
</StackPanel>
效果:
?
?
C#:
public CheckBoxDemo()
{
InitializeComponent();
StackPanel stackPanel = new StackPanel();
CheckBox box = new CheckBox();
box.Content = "Enable feature ABC";
CheckBox box1 = new CheckBox();
box1.IsChecked = true;
box1.Content = "Enable feature XYZ";
CheckBox box2 = new CheckBox();
box2.Content = "Enable feature WWW";
stackPanel.Children.Add(box);
stackPanel.Children.Add(box1);
stackPanel.Children.Add(box2);
this.Content = stackPanel;
}
效果:
ComboBox控件是下拉框列表
XAML:
<ComboBox Width="155" Height="33">
<!--下拉框選項-->
<!--設(shè)置默認選中項屬性:IsSelected-->
<ComboBoxItem IsSelected="True">ComboBox Item #1</ComboBoxItem>
<ComboBoxItem>ComboBox Item #2</ComboBoxItem>
<ComboBoxItem>ComboBox Item #3</ComboBoxItem>
</ComboBox>
效果:
DataGrid控件是顯示表格數(shù)據(jù)的控件,默認情況下,當設(shè)置屬性時,DataGrid控件將自動生成列ItemsSource。所生成的列的類型取決于列中數(shù)據(jù)的類型:
1. 數(shù)據(jù)類型為String的DataGridTextColumn;
2. 數(shù)據(jù)類型為Boolean的DataGridCheckColumn;
3. 數(shù)據(jù)類型為Enum的DataGridComboBoxColumn;
4. 數(shù)據(jù)類型為Uri的DataGridHyPerlinkColumn
XAML:
<Window x:Class="WpfAppDemo2.DataGridDemo"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:core="clr-namespace:System;assembly=mscorlib"
xmlns:local="clr-namespace:WpfAppDemo2"
Title="DataGridDemo" Height="450" Width="800">
<!--窗口資源:樣式、動畫、模板等-->
<Window.Resources>
<!--ObjectDataProvider提供了綁定任意.net類型的功能,增加了對成員函數(shù)的綁定,提供了更多的異步綁定的功能 。-->
<ObjectDataProvider x:Key="SexEnumKey" MethodName="GetValues" ObjectType="{x:Type core:Enum}">
<ObjectDataProvider.MethodParameters>
<!--C#后臺代碼的枚舉SexEnum-->
<x:Type Type="local:SexEnum"/>
</ObjectDataProvider.MethodParameters>
</ObjectDataProvider>
</Window.Resources>
<Grid >
<DataGrid Name="MyDataGrid" ItemsSource="{Binding}" CanUserAddRows="False" AutoGenerateColumns="False">
<DataGrid.Columns>
<!--Binding綁定后臺數(shù)據(jù)源-->
<DataGridTextColumn Header="曾用名" Binding="{Binding FirstName}"/>
<DataGridTextColumn Header="姓名" Binding="{Binding LastName}" />
<DataGridHyperlinkColumn Header="Email" Binding="{Binding Email}" />
<DataGridCheckBoxColumn Header="成員否" Binding="{Binding IsMember}" />
<!--StaticResource 靜態(tài)資源引用-->
<DataGridComboBoxColumn Header="性別" SelectedItemBinding="{Binding Sex}" ItemsSource="{Binding Source={StaticResource SexEnumKey}}" />
<!--5、模板列:圖片-->
<DataGridTemplateColumn Header="操作" MinWidth="50" Width="2*">
<DataGridTemplateColumn.CellTemplate>
<!--數(shù)據(jù)模板-->
<DataTemplate>
<StackPanel Orientation="Horizontal">
<Image Height="20" Width="20" Source="/tx/tx 06.jpg" Margin="0,0,10,0"/>
<Image Height="20" Width="20" Source="/tx/tx 07.jpg" Margin="0,0,10,0"/>
</StackPanel>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<!--模板列:按鈕-->
<DataGridTemplateColumn Header="操作" MinWidth="50" Width="2*">
<DataGridTemplateColumn.CellTemplate>
<!--數(shù)據(jù)模板-->
<DataTemplate>
<WrapPanel Orientation="Horizontal" ItemWidth="100">
<Button Content="修改" Margin="0,0,10,0"/>
<Button Content="刪除" Margin="0,0,10,0"/>
</WrapPanel>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
</DataGrid.Columns>
</DataGrid>
</Grid>
</Window>
效果:
C#:
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Shapes;
namespace WpfAppDemo2
{
/// <summary>
/// 枚舉
/// </summary>
public enum SexEnum { 男, 女 };
//public enum SexEnum { 男=0, 女=1 };
/// <summary>
/// 2‘構(gòu)建實體類:顧客
/// </summary>
public class Customer
{
//成員:字段、屬性、方法、事件、索引等
public string FirstName { get; set; }
public string LastName { get; set; }
public Uri Email { get; set; }
public bool IsMember { get; set; }
public SexEnum Sex { get; set; }
}
/// <summary>
/// DataGridDemo.xaml 的交互邏輯
/// </summary>
public partial class DataGridDemo : Window
{
//集合
List<Customer> list = new List<Customer>();
public DataGridDemo()
{
InitializeComponent();
//添加數(shù)據(jù)
list = new List<Customer>()
{
new Customer(){ FirstName="張颯",LastName="李斯",Email= new Uri("https://blog.csdn.net"),IsMember =true,Sex = SexEnum.男},
new Customer(){ FirstName="王舞",LastName="趙茜",Email= new Uri("https://blog.csdn.net"),IsMember =false,Sex = SexEnum.女},
new Customer(){ FirstName="孫武",LastName="楊鳴",Email= new Uri("https://blog.csdn.net"),IsMember =true,Sex = SexEnum.男},
new Customer(){ FirstName="鄒章",LastName="廖飛",Email= new Uri("https://blog.csdn.net"),IsMember =false,Sex = SexEnum.男},
};
//設(shè)置元素DG1在參與數(shù)據(jù)綁定時的數(shù)據(jù)上下文。
MyDataGrid.DataContext = list;
}
}
}
效果:
?
?
?
?
?
總結(jié)
- 上一篇: python通过串口发送bin文件
- 下一篇: 贵州:科技创新促高质量发展