Chr*_*ert 5 wpf event-handling
我承认,它有点小,但我正在寻找更好的方法来执行以下代码块.他们应该自我解释......
private void listBoxItem_PreviewMouseDown(object sender, MouseButtonEventArgs e)
{
var listBoxItem = sender as ListBoxItem;
if (listBoxItem != null)
{
var clickObject = listBoxItem.DataContext as ClickObject;
if (clickObject != null)
{
clickObject.SingleClick();
}
}
}
Run Code Online (Sandbox Code Playgroud)
另一个丑陋的:
private void listBox_SelectionChangedA(object sender, SelectionChangedEventArgs e)
{
var lB = sender as ListBox;
if (lB != null)
StatusBoxA.Text = "Elements selected" + lB.SelectedItems.Count;
}
Run Code Online (Sandbox Code Playgroud)
是的,我知道,它并非近乎死亡.但我不喜欢(if!= null).任何神奇的想法都会缩短它:-)
顺便说一句,我找到了一些关于类似主题的好消息:Null Items上的循环 很好看...
我喜欢干净整洁的代码,但在大多数情况下,干净优雅并不意味着简短而聪明.代码简洁有利于比赛.将"if not null"语句更改为foreach可能看起来更酷,但是在项目中工作的其他人更难理解您要完成的任务.相信我,即使你几个月后也不记得了:P.你的代码就好了!
private void listBoxItem_PreviewMouseDown(object sender, MouseButtonEventArgs e)
{
var listBoxItem = sender as ListBoxItem;
if (listBoxItem == null) return;
var clickObject = listBoxItem.DataContext as ClickObject;
if (clickObject == null) return;
clickObject.SingleClick();
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1179 次 |
| 最近记录: |