Skip to main content

WPF RadioButton List

Introduction

By default, WPF does not support Radio button list box like old Win Form Radio Button List. Here this blog describes how to create custom control or Radio List Box in WPF with help of XAML Code.

Getting Started

As we know that WPF does not have Radio Button List Box like Win form. But it can be created by customized the existing List Box control with help of item template of List Box control, data template for binding and Radio Button.

WPF provides Template for customize the structure and appearance of existing control same as the List box has item template where you can change structure of items to be display inside the list box. The item control of List box normally used place a control to display control like text box, button etc as item of list box. hence here I have used List Box item template to display radio button in site list box item.

For displaying data or text in item, the data template of WPF is used here. Data Template is used to display content of control or customize the data inside the controls. A Data Template to specify the visualization of your data objects. Data Template objects are particularly useful when you are binding an Items Control such as a List Box to an entire collection. Without specific instructions, a List Box displays the string representation of the objects in a collection. In that case, you can use a Data Template to define the appearance of your data objects. The content of your Data Template becomes the visual structure of your data objects.

The below code example creates a custom radio button list box control, it supports all the feature as like Win Form Radio Button List has and WPF feature like binding. This example lists out students in list and displays name of students with radio button.

XAML Code:

  <ListBox Name="listBoxZone" >  
       <ListBox.ItemTemplate>  
         <DataTemplate>  
           <RadioButton Content="{Binding Path=Name, UpdateSourceTrigger=PropertyChanged}" IsChecked="{Binding Path=IsSelected, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged,RelativeSource={RelativeSource AncestorType={x:Type ListBoxItem}}}"></RadioButton>  
         </DataTemplate>  
       </ListBox.ItemTemplate>  
     </ListBox>  

C#Code:

 private void FillList()  
     {  
       Students.Add(new Student() { Name = "Student1", IsSelected = false });  
       Students.Add(new Student() { Name = "Student2", IsSelected = false });  
       Students.Add(new Student() { Name = "Student3", IsSelected = false });  
       Students.Add(new Student() { Name = "Student4", IsSelected = false });  
       Students.Add(new Student() { Name = "Student5", IsSelected = false });  
       this.listBoxZone.ItemsSource = this.Students;  
     }  

Thanks
Kailash Chandra Behera

Comments

Popular posts from this blog

Generate QR Code in WPF

Introduction In my previous two blogs, we have discussed how to display generate and display various barcodes on the web page. In this blog, we are going to demonstrate how to Generate QR Code in the WPF application. Getting Started Here in the demonstration Generate QR Code in WPF , will generate QR code using third party library as there is not inbuilt library provided by Microsoft to generate QR code and will display in WPF image control, In the below, we will see the steps to display QR Code. As I mentioned in the above paragraph that there is no inbuild library provided by Microsoft to generate QR code, I have taken the help of the ZXing library which is a third party free library and available Nuget. This library provides various options to generate barcodes and QR Code from the user-friendly text. Generate QR Code in WPF Here are the steps to generate QR code and let's follow the steps to complete demonstrations. Demonstration:- Generate QR Code Open visual stud

Creating Application in Prism

Introduction This article explains an illustration of creating a windows application in Prism Library(WPF Prism). The solution includes recommended practices and techniques and is the basis for the procedures in Prism. This illustration created in the Visual Studio 2012, It can also developed in the visual studio 2008 and 2010, because wpf supports from .net framework 3.5 to latest version. Microsoft.Practices.Prism.dll. This assembly contains the implementation of the Prism Library core components such as modularity, logging services, communication services, and definitions for several core interfaces. It also contains the implementation of Prism Library components that target WPF applications, including commands, regions, and events. Microsoft.Practices.Prism.UnityExtensions.dll. This assembly contains base and utility classes you can reuse in applications built with the Prism Library that consume the Unity Application Block. For example, it contains a bootstrapper base class

WPF Binding

Introduction This blog describes WPF Binding and the measure elements exist with binding with XAML example in XAML and code-behind. Getting Started Binding helps in WPF to flow data from one object to another object, the object which fetches data is called source and the object which receives the data is called target. The Object a be a UI control or object of a class that means in binding you can bind a property of a class and property of another control to WPF UI controls as well. XAML Example <TextBox x:Name="sourceText" Grid.Row="0" /> <Button Grid.Row="1" Content="{Binding ElementName=sourceText, Path=Text}"/> Code Example Button btn=new Button(); Binding binding = new Binding("Text"); binding.Source = sourceText; btn.SetBinding(Button.ContentProperty, binding); In WPF binding has some measure properties or elements that we are using while developing application or projects, here we are going to d