कि आप जानते हैं कि आप एक व्यवहार के बिना एक आदेश के लिए सीधे एक घटना बाध्य नहीं कर सकते हैं:एक शैली के EventTrigger के भीतर एक कमांड फायरिंग?
<DataGrid>
<i:Interaction.Triggers>
<i:EventTrigger EventName="PreviewMouseDoubleClick">
<i:InvokeCommandAction Command="{Binding TradeEntryCommand"} />
</i:EventTrigger>
</i:Interaction.Triggers>
</DataGrid>
यह काम करता है बिल्कुल ठीक है, तथापि अब मैं सेल पर क्लिक दोगुना करने के लिए डेटा ग्रिड पर क्लिक करके डबल से इस refactor करने के लिए है । (मुझे परवाह नहीं है जो सेल क्लिक किया गया था)
मैं इस तरह सेल शैली के अंदर अब इस behviour परिभाषित करने के लिए उम्मीद कर रहा था:
<Style x:Key="DefaultCellStyleBase" TargetType="{x:Type DataGridCell}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type DataGridCell}">
<ControlTemplate.Triggers>
<EventTrigger RoutedEvent="PreviewMouseDoubleClick">
?????????
</EventTrigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
<!-- ... -->
</Style>
लेकिन यह कैसे मैं ऊपर से व्यवहार में लाना होगा आग आदेश?
अत्यधिक सराहना की,
शैलियों में परिभाषित व्यवहार से संबंधित एसओ पर पहले से ही कुछ डुप्लिकेट हैं। संक्षेप में: आप कम से कम जटिल कोड-हुप्स के माध्यम से कूदने के बिना नहीं कर सकते हैं। मुझे EventToCommand व्यवहार से प्यार है, लेकिन इस तरह के मामलों में मुझे हमेशा दृश्यमान हैंडलर के साथ नियमित ईवेंट इवेंटेटर के साथ व्यूमोडेल कमांड निष्पादित करने के दृश्य पर जाना पड़ता है। यह गंदे लगता है, यह शामिल सभी शून्य जांच के साथ बदसूरत लग रहा है, लेकिन इसके लिए "समाधान" को देखते हुए यह शायद तब तक आसान है जब तक कि आप अपने आप को एक बड़े आवेदन में इस बार कई बार नहीं पाते। –