WPF X名称控件简述 X:Type X:Null X:Array X:Static X:

WPF X名称控件简述 X:Type  X:Null  X:Array  X:Static  X:

 

 

<Window x:Class="WpfDemo.XPASEDemo"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
         Height="377.631" Width="744.737"
        xmlns:sys="clr-namespace:System;assembly=mscorlib"
        xmlns:local="clr-namespace:WpfDemo" WindowStartupLocation="CenterScreen"
        Title="{x:Static local:XPASEDemo.windowTitle}"
        >
    <Window.Resources>
        <sys:String x:Key="mykey">Hello WPF Resources</sys:String>
        <Style x:Key="{x:Type Button}" TargetType="{x:Type Button}">
            <Setter Property="Width" Value="60"></Setter>
            <Setter Property="Height" Value="36"></Setter>
            <Setter Property="Margin" Value="5"></Setter>
        </Style>
    </Window.Resources>
    <Grid Margin="0,0,25,28" RenderTransformOrigin="0.5,0.5">
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="109*"/>
            <ColumnDefinition Width="247*"/>
        </Grid.ColumnDefinitions>
        <Grid.Background>
            <ImageBrush ImageSource="pic/1.jpg" Stretch="Uniform" Opacity="0.8">
            </ImageBrush>
        </Grid.Background>
        <ComboBox x:Name="cmb1" HorizontalAlignment="Left" Margin="75,31,0,288" Width="149" IsReadOnly="True" Opacity="0.6" RenderTransformOrigin="0.5,0.5" SelectionChanged="ComboBox_SelectionChanged" Grid.Column="1">
            <ComboBox.Background>
                <LinearGradientBrush EndPoint="0,1" StartPoint="0,0">
                    <GradientStop Color="#FFF0F0F0" Offset="0"/>
                    <GradientStop Color="#FF138F95" Offset="1"/>
                </LinearGradientBrush>
            </ComboBox.Background>
            <ComboBoxItem Content="111" Opacity="0.7" RenderTransformOrigin="0.5,0.5" HorizontalAlignment="Left" Width="185" Margin="0,0,-38,0">
            </ComboBoxItem>
        </ComboBox>
        <ListBox HorizontalAlignment="Left" Height="137" Margin="62,106,0,0" VerticalAlignment="Top" Width="158" RenderTransformOrigin="0.5,0.5" Opacity="0.5" Grid.Column="1">
            <ListBox.ItemsSource>
                <x:Array Type="sys:String">
                    <sys:String>Tim</sys:String>
                    <sys:String>Jack</sys:String>
                    <sys:String>Tom</sys:String>
                    <sys:String>Jerry</sys:String>
                </x:Array>
            </ListBox.ItemsSource>
        </ListBox>
        <local:Button1 x:Name="btn2" Margin="100,100,0,0" Width="149" Height="50" HorizontalAlignment="Left" VerticalAlignment="Top"  Content="測試" 
                       MyWindowType="{x:Type TypeName=local:BindingValidationDemo}" RenderTransformOrigin="0.5,0.5" Click="btn2_Click" Grid.ColumnSpan="2">
        </local:Button1>
        <Button Content="Button" HorizontalAlignment="Left" Margin="326,188,0,0" VerticalAlignment="Top" Width="75" Grid.Column="1"/>
        <Button Content="Button" HorizontalAlignment="Left" Margin="326,229,0,0" VerticalAlignment="Top" Width="75" Grid.Column="1"/>
        <Button Content="Button" Style="{x:Null}" HorizontalAlignment="Left" Margin="326,270,0,0" VerticalAlignment="Top" Width="75" Click="Button_Click_1" Grid.Column="1"/>
        <TextBox x:Name="tb1" Text="{x:Static local:XPASEDemo.ShowText}" HorizontalAlignment="Left" Height="23" Margin="89,190,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="120" />
        <GroupBox  HorizontalAlignment="Left" Margin="249,15,-134,0" VerticalAlignment="Top" Grid.Column="1">
            <GroupBox.Header>
                <Image Source="./pic/4.jpg" Width="20" Height="20"></Image>
            </GroupBox.Header>
            <TextBlock TextWrapping="Wrap" Margin="5" Width="249">
                <TextBlock.Text>
                    agoagreatAmericaninwhosesymbolic1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
                </TextBlock.Text>
            </TextBlock>
        </GroupBox>
        <ListBox x:Name="lb2" HorizontalAlignment="Left" Margin="127,83,0,0" VerticalAlignment="Top" Height="150" Width="122" SelectionChanged="lb2_SelectionChanged" Grid.Column="1"/>

    </Grid>
</Window>

  

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
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.Navigation;
using System.Windows.Shapes;

namespace WpfDemo
{
    /// <summary>
    /// MainWindow.xaml 的交互逻辑
    /// </summary>
    public partial class XPASEDemo : Window
    {
        public static string windowTitle = "WPF Demo";
        //public static string ShowText { get { return "静态显示信息"; } set; }
        public static string ShowText { get; set; }
        public XPASEDemo()
        {
            ShowText = "静态显示信息";
            InitializeComponent();

            Employee e1 = new Employee();
            e1.name = "張三";
            e1.age = 10;

            Employee e2 = new Employee();
            e2.name = "李四";
            e2.age = 20;

            Employee e3 = new Employee();
            e3.name = "王五";
            e3.age = 30;

            List<Employee> list = new List<Employee> {e1,e2,e3 };

            lb2.ItemsSource = list;
            lb2.DisplayMemberPath = "name";
            lb2.SelectedValuePath = "age";
        }

        private void ComboBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            MessageBox.Show(this.cmb1.SelectedItem.ToString());
        }

        private void Button_Click(object sender, RoutedEventArgs e)
        {
            string str = this.FindResource("mykey") as string;
            MessageBox.Show(str);
        }

        private void btn2_Click(object sender, RoutedEventArgs e)
        {
            //Thread d = new Thread(delegate() {
            //    this.btn2.Content = "非UI線程調用控件";
            //});
            //d.Start();
            this.Dispatcher.Invoke(delegate() {
                this.btn2.Content = "非UI線程調用控件";
            });
        }

        private void Button_Click_1(object sender, RoutedEventArgs e)
        {
            MessageBox.Show(ShowText+"    "+this.tb1.Text);
        }

        private void Button_Click_2(object sender, RoutedEventArgs e)
        {
            Button btn = sender as Button;
            DependencyObject level1= VisualTreeHelper.GetParent(btn);

            MessageBox.Show(level1.GetType().ToString());
        }

        private void lb2_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            MessageBox.Show(lb2.SelectedValue.ToString());
        }
    }
}

  

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;

namespace WpfDemo
{
    class Button1:Button
    {
        public Type MyWindowType { get; set; }

        protected override void OnClick()
        {
            base.OnClick();
            Window win=Activator.CreateInstance(MyWindowType) as Window;
            if(win!=null)
            {
                win.ShowDialog();
            }

        }
    }
}

  

上一篇:在 case 语句中使用字符串


下一篇:如果提取网页中的变量 - 回复 lancernig 的问题