WPF Delegate委托整理

时间:2023-03-08 22:22:18

那啥,是从这里整理出来的,感谢Rising_Sun,整理的过于简单,看不明白的戳这里

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
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 Delegate委托
{
/// <summary>
/// MainWindow.xaml 的交互逻辑
/// </summary>
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}
delegate string SayMessage(string msg);
static string SayHello(string Name)
{
return string.Format("Hello {0}", Name);
}
private void button1_Click(object sender, RoutedEventArgs e)
{
SayMessage say = new SayMessage(SayHello);
textBlock1.Text = say("委托");
} private void button2_Click(object sender, RoutedEventArgs e)
{
SayMessage say = delegate(string Name)
{
return string.Format("Hello {0}", Name);
};
textBlock2.Text = say("匿名方法");
} private void button3_Click(object sender, RoutedEventArgs e)
{
SayMessage say = (Name) =>
{
return string.Format("Hello {0}", Name);
};
textBlock3.Text = say("Lambda");
}
private void button4_Click(object sender, RoutedEventArgs e)
{
Func<string, string> say1 = delegate(string Name)
{
return string.Format("Hello {0}", Name);
};
//和Lambda 结合
Func<string, string> say2 = (Name) =>
{
return string.Format("Hello {0}", Name);
};
textBlock4.Text = say1("Func 委托") + say2("Func+Lambda 委托");
}
private void button5_Click(object sender, RoutedEventArgs e)
{
Action<string> say1 = delegate(string Name)
{
textBlock5.Text = (string.Format("Hello {0}", Name));
};
//和Lambda 结合
Action<string> say2 = (Name) =>
{
textBlock5.Text += (string.Format("Hello {0}", Name));
};
say1("Action 委托");
say2("Action+Lambda 委托");
}
}
}

下面那啥,不堪入目!没人看到没人看到没人看到。。。。。。

<Window x:Class="Delegate委托.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="" Width="">
<Grid>
<Button Content="Button" Height="" HorizontalAlignment="Left" Margin="34,12,0,0" Name="button1" VerticalAlignment="Top" Width="" Click="button1_Click" />
<TextBlock Height="" HorizontalAlignment="Left" Margin="166,12,0,0" Name="textBlock1" Text="TextBlock" VerticalAlignment="Top" Width=""/>
<Button Content="Button" Height="" HorizontalAlignment="Left" Margin="34,58,0,0" Name="button2" VerticalAlignment="Top" Width="" Click="button2_Click" />
<TextBlock Height="" HorizontalAlignment="Left" Margin="165,58,0,0" Name="textBlock2" Text="TextBlock" VerticalAlignment="Top" Width="" />
<Button Content="Button" Height="" HorizontalAlignment="Left" Margin="34,108,0,0" Name="button3" VerticalAlignment="Top" Width="" Click="button3_Click" />
<TextBlock Height="" HorizontalAlignment="Left" Margin="165,108,0,0" Name="textBlock3" Text="TextBlock" VerticalAlignment="Top" Width="" TextWrapping="Wrap"/>
<Button Content="Button" Height="" HorizontalAlignment="Left" Margin="34,158,0,0" Name="button4" VerticalAlignment="Top" Width="" Click="button4_Click" />
<TextBlock Height="" HorizontalAlignment="Left" Margin="165,158,0,0" Name="textBlock4" Text="TextBlock" VerticalAlignment="Top" Width="" TextWrapping="Wrap" />
<Button Content="Button" Height="" HorizontalAlignment="Left" Margin="34,208,0,0" Name="button5" VerticalAlignment="Top" Width="" Click="button5_Click" />
<TextBlock Height="" HorizontalAlignment="Left" Margin="165,208,0,0" Name="textBlock5" Text="TextBlock" VerticalAlignment="Top" Width="" TextWrapping="Wrap"/> </Grid>
</Window>

咳咳,反正是自己看的