1、创建类:MulitBooleanConverter

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Data;namespace ScreenLock
{class MulitBooleanConverter : IValueConverter{#region IValueConverter Memberspublic object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture){int serviceParameter = int.Parse(parameter.ToString());bool isOnservice = (bool)value;bool result = false;switch (serviceParameter){case 0:result = true && isOnservice;break;case 1:result = !isOnservice;break;}return result;}public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture){int serviceParameter = int.Parse(parameter.ToString());bool isOnservice = (bool)value;bool result = false;switch (serviceParameter){case 0:result = true && isOnservice;break;case 1:result = false && isOnservice;break;}return value;}#endregion}
}

2、界面RadioButton

<Window x:Class="ScreenLock.RadioButton"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"Title="RadioButton" Height="300" Width="300"xmlns:local="clr-namespace:ScreenLock"><Window.Resources><local:MulitBooleanConverter x:Key="boolConverter"></local:MulitBooleanConverter><Style x:Key="HorizontalRadioButtonListStyle" TargetType="ListBox"><Style.Resources><Style TargetType="ListBoxItem"><Setter Property="Template"><Setter.Value><ControlTemplate TargetType="ListBoxItem"><Grid Margin="2"><Grid.ColumnDefinitions><ColumnDefinition Width="Auto" /><ColumnDefinition /></Grid.ColumnDefinitions><RadioButton IsChecked="{Binding IsSelected,  RelativeSource={RelativeSource TemplatedParent},  Mode=TwoWay}" /><ContentPresenter Grid.Column="1" Margin="2,0,0,0" /></Grid></ControlTemplate></Setter.Value></Setter></Style></Style.Resources><Setter Property="ItemsPanel"><Setter.Value><ItemsPanelTemplate><WrapPanel Orientation="Horizontal"  /></ItemsPanelTemplate></Setter.Value></Setter><Setter Property="BorderThickness" Value="0" /><Setter Property="Background" Value="Transparent" /></Style></Window.Resources><Grid><ListBox Style="{StaticResource HorizontalRadioButtonListStyle}" x:Name="list1" SelectionChanged="list1_SelectionChanged"><ListBox.Items><ListBoxItem  IsSelected="{Binding xxx,Converter={StaticResource boolConverter},ConverterParameter=0}" Content="在线" ></ListBoxItem><ListBoxItem IsSelected="{Binding xxx,Converter={StaticResource boolConverter},ConverterParameter=1}" Content="离线"></ListBoxItem><ListBoxItem IsSelected="{Binding xxx,Converter={StaticResource boolConverter},ConverterParameter=0}" Content="离线llll"></ListBoxItem></ListBox.Items></ListBox></Grid>
</Window>

3、后台选中事件

  private void list1_SelectionChanged(object sender, SelectionChangedEventArgs e){MessageBox.Show(((ListBoxItem)list1.SelectedItem).Content.ToString());}

wpf radiobuttonlist实现相关推荐

  1. [翻译] 构建完美的WPF开发工作站

    原文:http://blogs.msdn.com/tims/archive/2006/12/20/building-a-perfect-wpf-developer-workstation.aspx 作 ...

  2. 基于 WPF + Modern UI 的 公司OA小助手 开发总结

    前言: 距离上一篇博客,整整一个月的时间了.人不能懒下来,必须有个阶段性的总结,算是对我这个阶段的一个反思.人只有在总结的过程中才会发现自己的不足. 公司每天都要在OA系统上上班点击签到,下班点击签退 ...

  3. 学习Modern UI for WPF

    这两天断断续续的学了学Modern UI for WPF 没啥学习笔记呵呵,来自大牛王春明的博客园 http://www.cnblogs.com/wangchunming/category/34288 ...

  4. [转][小结][三种方法]实现WPF不规则窗体

    实现WPF不规则窗体的三种常用的方法如下: 1.使用Blend等工具绘制一个不规则xaml,然后作为窗体的背景.这个可以参考xiaowei0705的这篇博文:WPF制作不规则的窗体 . 2.给wind ...

  5. WPF:跨应用程序会话保持和还原应用程序范围的属性

    所谓的wpf夸应用程序员会话保持和还原.其实就是将多个应用程序都用的资源保存到一个独立的文件存储系统中.这个应用程序退出的时候将数据写入文件中,其他应用程序使用的时候可以去读取这个文件 这个地方用到了 ...

  6. 关于WPF的ComboBox中Items太多而导致加载过慢的问题

                                         [WFP疑难]关于WPF的ComboBox中Items太多而导致加载过慢的问题                         ...

  7. datagrid底部显示水平滚动_DevExpress WPF v19.1:Data Grid/Tree List等控件功能增强

    行业领先的.NET界面控件DevExpress 日前正式发布v19.1版本,本站将以连载的形式介绍各版本新增内容.在本系列文章中将为大家介绍DevExpress WPF v19.1中新增的一些控件及部 ...

  8. WPF入门(三)-几何图形之不规则图形(PathGeometry) (2)

    WPF入门(三)->几何图形之不规则图形(PathGeometry) (2) 原文:WPF入门(三)->几何图形之不规则图形(PathGeometry) (2) 上一节我们介绍了PathG ...

  9. WPF入门教程系列九——布局之DockPanel与ViewBox(四)

    七. DockPanel DockPanel定义一个区域,在此区域中,您可以使子元素通过描点的形式排列,这些对象位于 Children 属性中.停靠面板其实就是在WinForm类似于Dock属性的元 ...

最新文章

  1. PHP Fatal error: Class #39;DOMDocument#39; not found
  2. 【杂谈】购言有三签名纪念版书籍,送1~3副有三AI学习扑克牌
  3. python爬虫反爬机制_浅谈爬虫及绕过网站反爬取机制之Python深度应用
  4. vscode markdown插件_如何用Markdown写公众号
  5. 固有属性与自定义属性
  6. java socket发送定长报文_socket编程
  7. Android-support-v4源码查看
  8. SELinux系列(三)——SELinux的三种工作模式
  9. js转义html,反转义
  10. 3d 根据弧长算角度_3D立体画,让你身临其境
  11. 递归法:求n个元素的全排列
  12. pyqsplitter 保持一个窗口不能拖动_Axure教程:左侧导航如何自适应浏览器窗口高度?...
  13. MongoDB实验——数据库基本操作(头歌)
  14. 当新建css样式时默认名,网页制作考题2
  15. C的回归基础学习1——真的基础
  16. ICP备案,收不到短信或没有手机的朋友进来吧,对你肯定有帮助:)
  17. Java分页处理的三种方式
  18. GB/T28181-2016 SDP定义和音视频传输模式解读
  19. ADI的DSP,Blackfin系列中最受欢迎的型号:BF533
  20. ifft java_OpenCV DFT_INVERSE与Matlab的ifft不同

热门文章

  1. PTA-L1-079 天梯赛的善良 (20 分)(C++)
  2. ubuntu16.04无法联网
  3. 三种开窗函数详细用法,图文详解
  4. rhel6 下iib9.0实现HA
  5. 基于spring boot的毕业设计论文选题申报管理系统
  6. CDateTimeCtrl 用法总结
  7. 网上银行频失窃 银监会要各银行实施双重身份认证
  8. 浅谈使用git进行版本控制
  9. 小程序云开发,CMS内容管理系统
  10. FileSystemWatcher的Created事件问题