如果此WPF应用程序中使用System.Windows.Forms.FolderBrowserDialog,为什么WPF应用程序不能正确响应DialogResult值?
我在WPF MVVM应用程序中使用如果此WPF应用程序中使用System.Windows.Forms.FolderBrowserDialog,为什么WPF应用程序不能正确响应DialogResult值?,wpf,winforms,mvvm,folderbrowserdialog,Wpf,Winforms,Mvvm,Folderbrowserdialog,我在WPF MVVM应用程序中使用System.Windows.Forms.FolderBrowserDialog实例。请从视图模型中查看以下代码: . . . . . . . . using System.Windows.Forms; . . . . . . . . FolderBrowserDialog dialog = new FolderBrowserDialog(); DialogResult res = dialog.ShowDialog(); if (res == DialogRe
System.Windows.Forms.FolderBrowserDialog
实例。请从视图模型中查看以下代码:
. . . . . . . .
using System.Windows.Forms;
. . . . . . . .
FolderBrowserDialog dialog = new FolderBrowserDialog();
DialogResult res = dialog.ShowDialog();
if (res == DialogResult.OK)
{
this.PathToExcelExportRepository = string.Copy(dialog.SelectedPath);
this.IsTurnOffExportToExcelSelected = false;
this.IsTurnOnExportToExcelSelected = true;
. . . . . . . . .
}
其中,IsTurnOffExportToExcelSelected是:
public bool IsTurnOffExportToExcelSelected
{
get { return this._isTurnOffExportToExcelSelected; }
set { this.SetProperty(ref this._isTurnOffExportToExcelSelected, value); }
}
public bool IsTurnOnExportToExcelSelected
{
get { return this._isTurnOnExportToExcelSelected; }
set { this.SetProperty(ref this._isTurnOnExportToExcelSelected, value); }
}
而IsTurnOneExportToExcelSelected
IsTurnOneExportToExcelSelected是:
public bool IsTurnOffExportToExcelSelected
{
get { return this._isTurnOffExportToExcelSelected; }
set { this.SetProperty(ref this._isTurnOffExportToExcelSelected, value); }
}
public bool IsTurnOnExportToExcelSelected
{
get { return this._isTurnOnExportToExcelSelected; }
set { this.SetProperty(ref this._isTurnOnExportToExcelSelected, value); }
}
这些属性中的每一个都是视图中菜单项的绑定源:
<telerik:RadContextMenu.ContextMenu>
<telerik:RadContextMenu>
<telerik:RadMenuItem Header="Turn on export to MS Excel" IsCheckable="True" IsChecked="{Binding IsTurnOnExportToExcelSelected, Mode=TwoWay}"
Command="{Binding TurnOnExportToExcelCommand}"/>
<telerik:RadMenuItem Header="Turn off export to MS Excel" IsCheckable="True" IsChecked="{Binding IsTurnOffExportToExcelSelected, Mode=TwoWay}"
Command="{Binding TurnOffExportToExcelCommand}"/>
</telerik:RadContextMenu>
</telerik:RadContextMenu.ContextMenu>
如果您需要,那么我将提供从该命令调用的方法的源代码:peekAbsoluteDataForExportToCsv、exportToCsvAbsoluteChartPoints、peekComparativeDataForExportToCsv、,exporttosvcomparativeChartPoints.我建议您在IsTurnOneExportToExcelSelected
的setter中设置一个断点,并检查堆栈跟踪。TurnOneExportToExcelCommand
和SetProperty
做什么?你能在你的问题中添加他们的定义吗?你的问题现在没有多大意义。它没有提供重现您的问题所需的信息。我没有telerik,但即使没有执行任何命令或代码未触及check属性,也没有启用单击检查?也就是说,当res==DialogResult.OK
为false
时,检查属性不会在代码中更新,因此只有当前菜单按钮的属性被反转?grek40,您知道如何保护这种错误情况吗?