MainWindow.xaml:
<Grid>
<DataGrid x:Name="hEAD_LSTDataGrid" AutoGenerateColumns="False" EnableRowVirtualization="True"
ItemsSource="{Binding}" Margin="10" RowDetailsVisibilityMode="VisibleWhenSelected">
<DataGrid.Columns>
<DataGridTextColumn x:Name="nUMBERColumn" Binding="{Binding NUMBER}" Header="NUMBER" Width="SizeToHeader"/>
<DataGridTextColumn x:Name="tAMIRColumn" Binding="{Binding Txt}" Header="VASIYAT" />
</DataGrid.Columns>
</DataGrid>
</Grid>
MainWindow.xaml.cs:
using System.Collections.ObjectModel;
using System.ComponentModel;
using System.Linq;
using System.Runtime.CompilerServices;
using System.Windows;
namespace DataGridPropertyShowWithTrigger
{
public partial class MainWindow : Window
{
ViewModel vm=new ViewModel();
public MainWindow()
{
InitializeComponent();
DataContext=vm;
hEAD_LSTDataGrid.ItemsSource=vm.Datas;
}
}
public class ViewModel
{
public ObservableCollection<Data> Datas { get; set; }
public ViewModel()
{
Datas=new ObservableCollection<Data>();
Datas.Add(new Data(){ NUMBER=1, TAMIR=1 });
Datas.Add(new Data(){ NUMBER=2, TAMIR=2 });
}
}
public class Data : INotifyPropertyChanged
{
public int NUMBER { get;set;}
public event PropertyChangedEventHandler PropertyChanged;
private string txt;
public string Txt
{
get { return txt;}
}
private int Tamir;
public int TAMIR
{
get { return Tamir; }
set
{
Tamir = value;
if (Tamir == 2)
{
txt = "PreparingOrderState";
}
else
{
txt = Tamir.ToString();
}
OnPropertyChanged("Txt");
OnPropertyChanged("TAMIR");
}
}
protected void OnPropertyChanged([CallerMemberName] string name = null)
{
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(name));
}
}
}
The result:
If the response is helpful, please click "Accept Answer" and upvote it.
Note: Please follow the steps in our [documentation][5] to enable e-mail notifications if you want to receive the related email notification for this thread.
[5]: https://learn.microsoft.com/en-us/answers/articles/67444/email-notifications.html