基本信息
源码名称:wpf 多个button 选中效果界面Demo
源码大小:0.05M
文件格式:.rar
开发语言:C#
更新时间:2016-02-18
友情提示:(无需注册或充值,赞助后即可获取资源下载链接)
嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300
本次赞助数额为: 2 元×
微信扫码支付:2 元
×
请留下您的邮箱,我们将在2小时内将文件发到您的邮箱
源码介绍
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 WpfApplication3
{
/// <summary>
/// MainWindow.xaml 的交互逻辑
/// </summary>
public partial class MainWindow : Window
{
public string Title { get { return title.Text; } }
public string SelectedValue { get; private set; }
public event RoutedEventHandler CheckChanged;
public MainWindow()
{
InitializeComponent();
kkkk("radiobutton模版设计成button样式,赵保军qq:1060354472 博客地址:http://blog.csdn.net/rrzhaobaojun", new string[] { "更早", "2006", "2007", "2008", "2009", "2010", "2011" });
}
private void kkkk(string name, IEnumerable<string> values)
{
this.title.Text = name;
// 添加“全部”选择项
var c = CreateItem("全部");
c.IsChecked = true;
this.wrap.Children.Add(c);
this.SelectedValue = c.Content as string;
// 添加一般选择项
foreach(var i in values)
this.wrap.Children.Add(CreateItem(i));
}
private void WhenCheckChanged(object sender, RoutedEventArgs e)
{
var c = sender as RadioButton;
var isChecked = c.IsChecked ?? false;
// 依据IsChecked属性值选择模板
c.Template = Resources[isChecked ? "Checked": "UnChecked"] as ControlTemplate;
if(isChecked)
{
this.SelectedValue = c.Content as string;
// 触发CheckChanged事件,以便外部代码访问
if(CheckChanged != null)
CheckChanged(this, null);
}
}
// 创建新的单选项
private RadioButton CreateItem(string item)
{
var radio = new RadioButton();
radio.Content = item;
// 设定缺省的UnChecked模板
radio.Template = this.Resources["UnChecked"] as ControlTemplate;
// 订阅事件
radio.Checked = WhenCheckChanged;
radio.Unchecked = WhenCheckChanged;
return radio;
}
}
}