पर बदलते हुए मैं एमवीवीएम पैटर्न में एक सच्चा शुरुआत कर रहा हूं। मैं बटन के क्लिक पर ग्रिड के बैकगॉउंड को बदलने की कोशिश कर रहा हूं। मेरे पास एक बटन युक्त एक ग्रिड वाला एक एक्सएमएल है, और एक व्यूमोडेल .cs जहां से मैं बटन के क्लिक पर ग्रिड की पृष्ठभूमि बदलना चाहता हूं। वहाँ तक मैं सिर्फ एक संदेशबॉक्स दिखाने के लिए सफल होने जब मैं क्लिक किया ...एमवीवीएम ग्रिड के पृष्ठभूमि रंग को
.xaml कोड:
<Window x:Class="WpfSimple.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:WpfSimple"
Title="MainWindow" Height="150" Width="370">
<Window.DataContext>
<local:MainWindowViewModel/>
</Window.DataContext>
<Grid>
<Button Content="Click"
Height="23"
HorizontalAlignment="Left"
Background="Gray"
Margin="75.944,47.465,0,0"
Name="btnClick"
VerticalAlignment="Top"
Width="203"
Command="{Binding ButtonCommand}"/>
<!--What is necessary to add for changing grid color ? Commandparameter ?-->
</Grid>
MainWindowViewModel.cs कोड:
namespace WpfSimple
{
class MainWindowViewModel
{
private ICommand m_ButtonCommand;
public ICommand ButtonCommand
{
get
{
return m_ButtonCommand;
}
set
{
m_ButtonCommand = value;
}
}
public MainWindowViewModel()
{
ButtonCommand=new RelayCommand(new Action<object>(ChangeBgColor));
}
public void ChangeBgColor(object obj)
{
/*HERE I WANT TO CHANGE GRID COLOR*/
}
}
}
मेरे लिए खेद है बुरा अंग्रेजी।
सर्वश्रेष्ठ संबंध।
हाँ! वडिम मार्टिनोव बहुत बहुत धन्यवाद! मुझे यकीन नहीं है कि मैं "INotifyPropertyChanged इंटरफेस" के उद्देश्य को समझ गया क्योंकि यह मुझे कुछ भी अधिसूचित नहीं है ... लेकिन आपका जवाब वास्तव में सहायक था। सर्वश्रेष्ठ संबंध। डेटा बाइंडिंग के लिए – Chefty
@ सुरक्षा आईएनपीसी की आवश्यकता है। इसके बिना जब आप ViewModel में संपत्ति बदल देंगे तो आपका रंग नहीं बदलेगा। इसके अलावा, आईएनपीसी डेटा बाध्यकारी की एक आम विशेषता है। आप एमएसडीएन पर और अधिक पढ़ सकते हैं: https://msdn.microsoft.com/en-US/library/ms752347(v=vs.100).aspx –
मैं अपने नियंत्रण में नया स्थिर संसाधन नहीं जोड़ सकता, यह एक त्रुटि बना देता है: " GridStateToBackgroundColorConverter एक WPF प्रोजेक्ट में समर्थित नहीं है "क्या यह सामान्य है? – Chefty