मेरे कार्यक्रम में मेरे पास मुख्य विंडो के अलावा दो कक्षाएं हैं जिनमें केवल एक डेटागर्ड है। की पहली कक्षा से शुरू करते हैं:
MyClass.cs:
public class MyClass
{
public bool IsOrange { get; set; }
public string Name { get; set; }
}
मैं केवल दो गुण होते हैं, IsOrange
निर्दिष्ट करती है कि पंक्ति नारंगी होना चाहिए। ((अन्य संपत्ति की परवाह नहीं है।))
अब मॉडल मॉडल क्लास में केवल MyClass का संग्रह होता है।
MyClassViewModel.cs:
public class MyClassViewModel
{
public ObservableCollection<MyClass> con { get; set; }
public MyClassViewModel()
{
con = new ObservableCollection<MyClass>();
con.Add(new MyClass { IsOrange = true, Name = "Aa" });
con.Add(new MyClass { IsOrange = true, Name = "Bb" });
con.Add(new MyClass { IsOrange = false, Name = "Cc" });
con.Add(new MyClass { IsOrange = false, Name = "Dd" });
con.Add(new MyClass { IsOrange = false, Name = "Ee" });
con.Add(new MyClass { IsOrange = true, Name = "Ff" });
con.Add(new MyClass { IsOrange = true, Name = "Gg" });
con.Add(new MyClass { IsOrange = false, Name = "Hh" });
}
}
MainWindow.xaml में:
<Grid>
<DataGrid Margin="10" ItemsSource="{Binding Path=con}" >
<DataGrid.RowStyle>
<Style TargetType="DataGridRow">
<Style.Triggers>
<DataTrigger Binding="{Binding Path=IsOrange}" Value="true">
<Setter Property="Background" Value="Orange" />
</DataTrigger>
</Style.Triggers>
</Style>
</DataGrid.RowStyle>
</DataGrid>
</Grid>
अंत में MainWindow.xaml.cs में:
public partial class MainWindow : Window
{
MyClassViewModel VM = new MyClassViewModel();
public MainWindow()
{
InitializeComponent();
DataContext = VM;
}
}
और यह वह जगह है परिणाम:
आप एप्लिकेशन भेजने के लिए मुझे अपने ईमेल भेज सकते हैं।
अच्छी किस्मत :)
जहां ऑरेंज संपत्ति स्थित है, क्या यह सीधे विंडो संदर्भ पर स्थित है ?? – MoHaKa
मेरे पास एक व्यूमोडेल SomethingWhichCanBeOrangeViewModel है जिसमें बूलियन IsRange संपत्ति है। मेरे ग्रिड में यह ऑब्जेक्ट्स को ऑब्जर्जेबल कोलेक्शन पर सेट किया गया है। –
user1514042
ठीक है, तो आप सुनिश्चित हैं कि आपकी संपत्ति आपके डेटाग्रिड में पहुंच योग्य है। – MoHaKa