जैसा कि अक्सर रास्ता मैं इस के लिए अपने ही समाधान मिल गया है है:
private void dgTaskLinks_MouseLeftButtonUp(object sender, MouseButtonEventArgs e)
{
///get the clicked row
DataGridRow row = MyDependencyObjectHelper.FindParentOfType<DataGridRow>(e.OriginalSource as DependencyObject);
///get the data object of the row
if (row != null && row.DataContext is TaskLink)
{
///toggle the IsSelected value
(row.DataContext as TaskLink).IsSelected = !(row.DataContext as TaskLink).IsSelected;
}
}
:
<data:DataGrid x:Name="dgTaskLinks"
ItemsSource="{Binding TaskLinks}"
SelectedItem="{Binding SelectedTaskLink, Mode=TwoWay}"
MouseLeftButtonUp="dgTaskLinks_MouseLeftButtonUp"
>...
और walk the visual tree डेटा ग्रिड पंक्ति पाने के लिए:
datagrid करने के लिए एक MouseLeftButtonUp घटना जोड़ें
एक बार पाया गया, यह बाध्य आईएसईलेक्टेड संपत्ति को टॉगल करने का एक आसान तरीका है :-)
आशा है कि यह किसी और की मदद करेगा।
स्रोत
2009-11-26 16:27:24
क्या आप फिर से क्लिक होने पर टॉगल करना चाहते हैं? क्या पंक्ति पर कहीं भी है जहां क्लिकिंग का प्रभाव नहीं होना चाहिए? – AnthonyWJones