मुझे काम किए गए बटन में समस्या है। मैंने ऑब्जर्वेबल कोलेक्शन के साथ डिस्प्ले आइटम के लिए पैटर्न बनाया लेकिन मेरा बटन काम नहीं करता है।

यहां मैं डोसेंट वर्क किए गए बटन के साथ आइटम प्रदर्शित करता हूं

            <ItemsControl ItemsSource="{Binding Vehicles}">
            <ItemsControl.ItemTemplate>
                <DataTemplate>
                    <Task:VehcileTask/>
                </DataTemplate>
            </ItemsControl.ItemTemplate>
        </ItemsControl>

यहां वाहन टास्क के साथ कोड प्रदर्शित बटन है

            <Button Background="Red" Content="Delete"  Command="{Binding DeleteItem}">
            
        </Button>

यह आह्वान करने का आदेश है

        public ICommand DeleteItem { get; set; }
0
Dawid Jabłoński 16 नवम्बर 2020, 20:43

1 उत्तर

सबसे बढ़िया उत्तर

यह मानते हुए कि DeleteItem कमांड आपके मुख्य व्यूमोडेल की एक संपत्ति है, न कि व्यक्तिगत डेटा आइटम, तो आपको इसे सापेक्ष डेटा बाइंडिंग के माध्यम से संदर्भित करने की आवश्यकता है।

Command="{Binding Path=DataContext.DeleteItem, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type Window}}}"

आपको हटाए जाने वाले आइटम को बटन के कमांड पैरामीटर के रूप में भी शामिल करना होगा

CommandParameter="{Binding}"

और उस पैरामीटर मान को आपके आदेश की संबंधित विधि के संदर्भ में संदर्भित करने के लिए।

1
Peregrine 16 नवम्बर 2020, 17:58