दिलचस्प पोस्ट
रेखा से फ़ाइल लाइन पढ़ें आईएसओ में NSURL कनेक्शन और मूल HTTP प्रमाणीकरण क्वेरी स्ट्रिंग से एक पैरामीटर को निकालने के लिए नियमित अभिव्यक्ति PHP – छवि के भीतर रंग बदलें एक सर्वेक्षण के लिए डेटाबेस डिजाइन स्थानीय स्टोरेज, सत्र स्टोरेज, सत्र और कुकीज़ के बीच अंतर क्या है? नई कक्षा का अर्थ (…) {{…}} प्रारंभिक मुहावरे इनपुट के अनुसार गतिशील दो आयाम सरणी JSON को HTML तालिका विज़ुअल स्टूडियो में डीएलएल को जोड़ने अतिप्रवाह स्क्रॉल के साथ टॉकी ऊंचाई कैसे सेट करें डेटा के सबसेट पर आंकड़े की गणना करना क्या कोई रनटाइम-निर्धारित नाम के साथ एक समारोह बनाने के लिए कोई गैर-eval तरीका है? एक कॉलम पर आधारित एक दो आयामी सरणी क्रमित करें स्ट्रिंग के अंदर बैकस्लैश प्राप्त करें – जावास्क्रिप्ट

ViewModelBase में कमांड करने के लिए WPF बटन को बाँध कैसे करें?

मेरे पास एक दृश्य AttributeView दृश्य है जिसमें सभी प्रकार के गुण हैं वहाँ भी एक बटन है, जब दबाया जाता है, यह विशेषताओं के लिए डिफ़ॉल्ट मान सेट करना चाहिए। मेरे पास एक ViewModelBase क्लास भी है जो कि मेरे पास सभी ViewModels के लिए एक बेस क्लास है। समस्या यह है कि मैं WPF के साथ कमांड के लिए बाध्य बटन प्राप्त नहीं कर सकता।

मैंने यह कोशिश की है, लेकिन यह कुछ भी नहीं करता है:

 <Button Command="{Binding DataInitialization}" Content="{x:Static localProperties:Resources.BtnReinitializeData}"></Button> 

कमांड को इस तरह परिभाषित किया गया है ( ViewModelBase ):

 public CommandBase DataInitialization { get; protected set; } 

और आवेदन स्टार्टअप पर एक नया उदाहरण कमांड के लिए बनाया गया है:

 DataInitialization = new DataInitializationCommand() 

हालांकि, WPF बाध्यकारी "कमांड" को खोजने के लिए प्रतीत नहीं होता (बटन दबाने से कुछ भी नहीं) वर्तमान दृश्य में उपयोग किए जाने वाले ViewModelBase से ली गई है। मैं और अधिक कोशिश कर सकता हूं (मैं WPF पर काफी नया हूं इसलिए यह एक बहुत ही सरल प्रश्न हो सकता है)?

Solutions Collecting From Web of "ViewModelBase में कमांड करने के लिए WPF बटन को बाँध कैसे करें?"

  <Grid > <Grid.ColumnDefinitions> <ColumnDefinition Width="*"/> </Grid.ColumnDefinitions> <Button Command="{Binding ClickCommand}" Width="100" Height="100" Content="wefwfwef"/> </Grid> 

विंडो के लिए पीछे कोड:

 public partial class MainWindow : Window { public MainWindow() { InitializeComponent(); DataContext = new ViewModelBase(); } } 

और देखेंमोडेल:

 public class ViewModelBase { public ViewModelBase() { _canExecute = true; } private ICommand _clickCommand; public ICommand ClickCommand { get { return _clickCommand ?? (_clickCommand = new CommandHandler(() => MyAction(), _canExecute)); } } private bool _canExecute; public void MyAction() { } } public class CommandHandler : ICommand { private Action _action; private bool _canExecute; public CommandHandler(Action action, bool canExecute) { _action = action; _canExecute = canExecute; } public bool CanExecute(object parameter) { return _canExecute; } public event EventHandler CanExecuteChanged; public void Execute(object parameter) { _action(); } } 

मुझे उम्मीद है कि यह आपको विचार देगा।