Posts

Showing posts from January, 2021

Binding RadioButtons with Gender Property in WPF Using Value Converter

Many WPF developers face a common problem when working with RadioButtons . They try to bind RadioButtons with a Gender property, but the binding does not work as expected . Why does this happen? Because RadioButtons work with true/false values , but in real applications, Gender is stored as meaningful values like: Male Female So the big question is: How do we connect a true/false UI control with a Male/Female data value? Why RadioButton Binding Fails A RadioButton uses the IsChecked property, and this property accepts only: true false But your Gender property is usually: a string ( "Male" , "Female" ) or an enum So the UI value and the data value are different types . This mismatch is the root cause of the problem. The Solution: Value Converter WPF provides a powerful feature called a Value Converter . What is a Value Converter? A Value Converter converts one value type into another. In our case: Convert Gender (...

How to create Expandable TextBox in Wpf

Image
Step 1: Right click on project Step 2: Click on Add and select New Item Step 3: Search for Custom Control Step 4: Select Custom Control(WPF) Step 5: Write ExpandableTextBox in Name and click on Add It will create one class with the Name ExpandableTextBox with following code: namespace CustomControl.Controls { public class ExpandableTextBox : Control { static ExpandableTextBox() { DefaultStyleKeyProperty.OverrideMetadata(typeof(ExpandableTextBox), new FrameworkPropertyMetadata(typeof(ExpandableTextBox))); } } } It will also create a folder called Themes inside this folder it will create ResourceDictionary with the Name Generic with folowing code: Generic.xaml <ResourceDictionary xmlns:local="clr-namespace:Wpf" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"> <Style TargetType="{x:Type local:ExpandableTextBox...