1
我從哪裏上的按鈕點擊(命令綁定)一個WPF PRISM項目用戶控件調用以下函數:傳遞從用戶控件列表窗口
private async void UpdateStoreSet()
{
List<ValidationData> failedData = await _adapter.UpdateStoreSetData(this.DataList.Result as List<StoreSetData>);
if (failedData != null && failedData.Count > 0)
{
FailedValidationViewModel objFaliedVM = new FailedValidationViewModel(_errorHandler, _dlgService, failedData);
//objFaliedVM.DataList = failedData;
Windows.FailedValidation win = new Windows.FailedValidation(objFaliedVM, _errorHandler);
win.Owner = System.Windows.Application.Current.MainWindow;
win.WindowStartupLocation = System.Windows.WindowStartupLocation.CenterOwner;
win.ShowDialog();
//_dlgService.ShowMessageBox(failedData.Count.ToString() + " records failed validation!", "Failure", MessageBoxButton.OK, MessageBoxImage.Error);
}
else
{
// Refresh the list
SearchPlanograms();
}
}
在構造窗口視圖模型,這裏寫的是:
public FailedValidationViewModel(IErrorHandlerService inErrorHandler, IDialogService inDlgService, List<ValidationData> lstFailedList)
{
// Set dependency injected services to local variables
_errorHandler = inErrorHandler;
_dlgService = inDlgService;
//Instantiate the failed validation list
DataList = lstFailedList;
// Instantiate the command
this.ExportToExcelCommand = new DelegateCommand<object>(this.ExportToExcel);
}
#endregion
#region Properties
public List<ValidationData> DataList
{
get
{
return _failedValidation;
}
set
{
if (_failedValidation != value)
{
SetProperty(ref _failedValidation, value);
}
}
}
#endregion
下面的網格顯示在窗口:
<dxg:GridControl x:Name="gridFailedFloorplans" Grid.Row="0" AutoGenerateColumns="None"
ItemsSource="{Binding DataList.Result.View}" AutoExpandAllGroups="True" DefaultSorting="Name"
dx:ThemeManager.Theme="Default" Height="350" Width="580">
<dxg:GridControl.View>
<dxg:TableView AllowGrouping="True" ShowGroupPanel="False" AllowEditing="False" AutoWidth="True" Name="gridFailedValidationTableView"/>
</dxg:GridControl.View>
<dxg:GridControl.Columns>
<dxg:GridColumn FieldName="abc" />
<dxg:GridColumn FieldName="def" />
<dxg:GridColumn FieldName="efg" />
<dxg:GridColumn FieldName="ghi" />
<dxg:GridColumn FieldName="jkl FixedWidth="True" Width="100" />
<dxg:GridColumn FieldName="mmm" FixedWidth="True" Width="100" />
</dxg:GridControl.Columns>
</dxg:GridControl>
但電網在ItemsSource = null的時候會變成空的。我不知道如何解決它。請幫忙。
檢查'Output'窗口中的綁定錯誤。綁定到'DataList.Result.View'是否合理? – Sinatr
您是否將窗口中的DataContext設置爲您的VM? – auburg
棱鏡還是DevExpress? – Coding4Fun