C# 因此,您必须找到其他方法来重新实现相同的行为,但要以MVVM的方式。您还需要实现一个ICommand实例的加载,以替换大量的Click处理程序等
现在,我必须承认,我的评论到目前为止可能会让你认为我不是在建议你转换你的项目。但是,我不建议您转换您的项目。WPF和使用MVVM模式有很大的好处。。。图形、动画、样式以及使任何控件看起来像其他控件的能力 我想说的最后一点是关于你关于“大数据”的问题。WPF是一个需要处理器的框架。。。这是没办法的。将成千上万的数据项呈现为漂亮的UI元素时,速度可能会很慢。然而,经过几年的大规模应用,我发现有一些方法可以改善这种情况 我们可以让WPF使用已安装的图形卡的功能,或者使用仅加载可见项数据的虚拟化面板,等等。在你开始转换之前,你真的需要听听WPF的消极一面,因为一旦它被转换了,就太晚了。我还建议运行该应用程序的计算机以某种方式变得足够强大C# 因此,您必须找到其他方法来重新实现相同的行为,但要以MVVM的方式。您还需要实现一个ICommand实例的加载,以替换大量的Click处理程序等,c#,.net,wpf,mvvm,C#,.net,Wpf,Mvvm,现在,我必须承认,我的评论到目前为止可能会让你认为我不是在建议你转换你的项目。但是,我不建议您转换您的项目。WPF和使用MVVM模式有很大的好处。。。图形、动画、样式以及使任何控件看起来像其他控件的能力 我想说的最后一点是关于你关于“大数据”的问题。WPF是一个需要处理器的框架。。。这是没办法的。将成千上万的数据项呈现为漂亮的UI元素时,速度可能会很慢。然而,经过几年的大规模应用,我发现有一些方法可以改善这种情况 我们可以让WPF使用已安装的图形卡的功能,或者使用仅加载可见项数据的虚拟化面板,等
我希望这个“总结”对你来说不是太消极,并且在某种程度上有所帮助。最后,我想说,我个人是WPF和MVVM的超级粉丝。我建议您从客户那里多花几天时间,让它随时可用。您只需连接到数据库,只需更改应用程序的界面即可。我建议您从客户那里多花几天时间,并确保它可以使用。您只需连接到数据库,只需更改应用程序的接口。在codereview.stackexchange.com上这可能更合适。如果您的截止日期很紧,请忘记将其转换为MVVM。您的代码将与视图紧密连接。您将代码放在CodeBehind中,这对于MVVM来说是绝对不可能的。对于MVVM,您需要完全不包含UI特定代码的ViewModels以及模型中的所有其他内容。MVVM中的视图只包含XAML代码+自动生成的代码隐藏(在最佳情况下)。在MVVM中,只使用特定于UI特定代码的代码(即,如果您希望在用户键入文本框时触发验证),但在开始开发应用程序之前,不必考虑LogICMVVM。如果你的代码不是为它设计的,它需要大量的重构或从头开始。@Tseng谢谢你的建议,你认为它的质量如何/担心质量/:(@ZoyaSheikh
你认为它的质量如何?
-你的代码很糟糕。任何习惯于MVVM的人都认为非MVVM是幼稚的、意大利面的、不必要的代码,是由一个不成熟、经验丰富的程序员编写的,而恰恰相反。如果你的客户要求高质量的代码,你最好不要提交这个。在codereview.stackexchange.com上这可能更合适。如果您的截止日期很紧,请忘记将其转换为MVVM。您的代码与视图紧密相连。您将代码放在CodeBehind中,这对MVVM来说是绝对不可能的。对于MVVM,您需要完全不包含UI特定代码的ViewModels以及模式中的所有其他内容l、 MVVM中的视图仅由XAML代码+自动生成的CodeBehind组成(在最佳情况下)。在MVVM中,您仅对UI特定的代码使用CodeBehind(即,如果您希望在用户键入文本框时触发验证)但是,Logic VMVM在开发应用程序之前,你必须考虑一些事情。如果你的代码不是为它设计的,它需要大量的重构或者从头开始。@曾恩,谢谢你的建议,你对它的质量/担心质量有什么看法?(@ZoyaSheikh你认为它的质量如何?
-你的代码很糟糕。任何习惯于MVVM的人都认为非MVVM是幼稚的、意大利面的、不必要的代码,是由一个不成熟、经验丰富的程序员编写的,而恰恰相反。如果你的客户要求高质量的代码,你最好不要提交这个。我必须同意Sheridan的观点。WPF/MVVM很棒,但在截止日期之前,移植到它并不是一项需要解决的工作。相反,你可以写几个简单的应用程序作为WPF/MVVM,这样你就可以先理解它。我同意SheridanI的观点。我发现,至少奇怪的是,你对MVVM做出了广泛的回答,却没有提到数据绑定这个词
,甚至一次也没有。仍然是+1。@HighCore,可以随意添加一个部分。我必须同意Sheridan的观点。WPF/MVVM很棒,但在截止日期之前移植到它不是一项需要解决的工作。相反,去写几个简单的应用程序作为WPF/MVVM,这样你就可以先理解它。我同意Sheridan的观点,至少你会觉得奇怪,你正在制作一个e关于MVVM的详细回答没有提到数据绑定这个词,甚至一次也没有。不过,+1.@HighCore,可以随意添加一个部分。
void EditRow(int focRowHand, nrcsaEntities a)
{
Name nametext = grid.GetRow(focRowHand) as Name;
try
{
if (nametext.Name1 != string.Empty)
{
update_id = nametext.PK_ID;
txtName2.Text = update_text = nametext.Name1;
if (Panel3.Visibility == System.Windows.Visibility.Visible)
{
Panel1.Visibility = System.Windows.Visibility.Visible;
Panel3.Visibility = System.Windows.Visibility.Collapsed;
}
else
{
Panel1.Visibility = System.Windows.Visibility.Collapsed;
Panel3.Visibility = System.Windows.Visibility.Visible;
}
}
}
catch (Exception err)
{
DXMessageBox.Show(err.StackTrace);
}
}
private void ToggleButton1_Copy_Click(object sender, RoutedEventArgs e)
{
if (view.FocusedRowHandle == -1)
{
DXMessageBox.Show("Please Select any Item From Grid List");
}
else
{
try
{
int FocRowHand = view.FocusedRowHandle;
nrcsaEntities a = new nrcsaEntities();
if (grid.IsGroupRowHandle(FocRowHand))
{
int childCount = grid.GetChildRowCount(FocRowHand);
for (int i = 0; i < childCount; i++)
{
int childHandle = grid.GetChildRowHandle(FocRowHand, i);
EditRow(childHandle, a);
}
}
else
{
EditRow(FocRowHand, a);
}
}
catch (Exception ee)
{
DXMessageBox.Show(ee.StackTrace);
}
}