小编Luc*_*fer的帖子

WPF ComboBox SelectionChanged事件导致命令不触发

我有以下XAML,ComboBox其中具有代码隐藏SelectionChanged事件处理程序和ViewModel的另一个Command属性。我将SelectedIndex属性设置为0。现在,当我运行项目时,将调用代码隐藏处理程序,但Command不会执行。我想要的是Command应该SelectedIndex=0在视图第一次加载时执行。

<ComboBox Name="listComboBox" SelectionChanged="listComboBox_SelectionChanged" SelectedIndex="0" SelectedValuePath="Content" Margin="5,0" Height="35" Width="150" VerticalAlignment="Center" HorizontalAlignment="Left">
    <i:Interaction.Triggers>
        <i:EventTrigger EventName="SelectionChanged">
            <i:InvokeCommandAction Command="{Binding ListTypeComboSelectionChangedCmd}" CommandParameter="{Binding ElementName=listComboBox, Path=SelectedValue}"/>
        </i:EventTrigger>
     </i:Interaction.Triggers>
     <ComboBoxItem Content="ItemOne" />
     <ComboBoxItem Content="ItemTwo" />
     <ComboBoxItem Content="ItemThree" />
</ComboBox>
Run Code Online (Sandbox Code Playgroud)

更新资料

代码隐藏事件处理程序:

<ComboBox Name="listComboBox" SelectionChanged="listComboBox_SelectionChanged" SelectedIndex="0" SelectedValuePath="Content" Margin="5,0" Height="35" Width="150" VerticalAlignment="Center" HorizontalAlignment="Left">
    <i:Interaction.Triggers>
        <i:EventTrigger EventName="SelectionChanged">
            <i:InvokeCommandAction Command="{Binding ListTypeComboSelectionChangedCmd}" CommandParameter="{Binding ElementName=listComboBox, Path=SelectedValue}"/>
        </i:EventTrigger>
     </i:Interaction.Triggers>
     <ComboBoxItem Content="ItemOne" />
     <ComboBoxItem Content="ItemTwo" />
     <ComboBoxItem Content="ItemThree" />
</ComboBox>
Run Code Online (Sandbox Code Playgroud)

ICommand对象:

private void …
Run Code Online (Sandbox Code Playgroud)

wpf combobox mvvm

5
推荐指数
1
解决办法
2万
查看次数

鼠标悬停时更改DatGrid ScrollBar可见性?

如何在DataGrid的IsMouseOver属性上切换数据网格滚动条的可见性?我希望当鼠标悬停在DataGrid上时使ScrollBar可见,当鼠标离开DataGrid时我不可见.一个XAML示例将不胜感激.

wpf datagrid visibility scrollbar

3
推荐指数
1
解决办法
3208
查看次数

在Windows服务的上下文中删除和卸载有什么区别?

请帮助我理解使用命令"sc delete"删除Windows服务和使用命令"installutil/u"卸载Windows服务之间的区别.

稍微探讨一下后,我意识到使用installutil命令你必须首先停止windows服务,而sc delete命令负责停止服务本身.如果错误请纠正我.

.net windows-services uninstall

3
推荐指数
1
解决办法
2122
查看次数

可编辑的DataGrid-CanUserAddRows =“ True”不起作用

我有以下DataGrid:

 <DataGrid ItemsSource="{Binding EmployeeList}" CanUserAddRows="True" AutoGenerateColumns="False" Margin="0,0,0,90">
        <DataGrid.Columns>
            <DataGridTemplateColumn Header="CountryCombo2">
                <DataGridTemplateColumn.CellTemplate>
                    <DataTemplate>
                        <ComboBox ItemsSource="{Binding Path=DataContext.CountryList, RelativeSource={RelativeSource AncestorType={x:Type Window}}}" 
                                      DisplayMemberPath="CountryName" 
                                      SelectedItem="{Binding EmployeeCountry, Mode=TwoWay}"
                                      SelectedValue="{Binding EmployeeCountry.CountryId}"
                                      SelectedValuePath="CountryId" />
                    </DataTemplate>
                </DataGridTemplateColumn.CellTemplate>
            </DataGridTemplateColumn>
        </DataGrid.Columns>
    </DataGrid>
Run Code Online (Sandbox Code Playgroud)

但是,我无法向DataGrid添加新行。如果需要提供其他代码,请告诉我。

更新:

屏幕1:这是窗口刚加载了硬编码的属性值时的屏幕截图。现在,我看到了空的新行。

屏幕1

屏幕2:在这里,我已将数据添加到具有Rambo和Russia值的新行中。现在,无论我做什么(跳出,单击另一个单元格),都不会添加下一个新行。我认为应该添加一个新行。

屏幕2

屏幕3:此处新添加的行值已消失。那是因为我双击了两个空单元格之间的细边框。现在,这很奇怪。

屏幕3

屏幕4:现在,当我单击Peter单元格时,先前输入的行数据返回了,但是现在将其向下推并在其之前插入了一个新的空行。这很奇怪。

屏幕3

谁能帮助我了解DataGrid的这种行为。

wpf datagrid datagridtemplatecolumn

2
推荐指数
2
解决办法
6879
查看次数

RxJs groupBy 带有一个对象数组,每个对象都有键和值数组

所以要求是这样的:我得到了一个对象数组(例如数组)

[
   { empDept: 'Engineering', empLoc: 'Pune', empName: 'John' },
   { empDept: 'Engineering', empLoc: 'Mumbai', empName: 'Harry' },
   { empDept: 'HR', empLoc: 'Pune', empName: 'Denis' },
   { empDept: 'Finance', empLoc: 'Mumbai', empName: 'Elvis' },
]
Run Code Online (Sandbox Code Playgroud)

我将有一个函数,该函数将接受属性名称作为参数,员工列表将根据该名称进行分组。因此,如果输入参数值为“empDept”,那么我想要的结果如下:

[
   {
      key: 'Engineering',
      values: [
         { empDept: 'Engineering', empLoc: 'Pune', empName: 'John' },
         { empDept: 'Engineering', empLoc: 'Mumbai', empName: 'Harry' },
     ]
   },
   {
      key: 'HR',
      values: [
         { empDept: 'HR', empLoc: 'Pune', empName: 'Denis' },
     ]
   },
   {
      key: 'Finance',
      values: [ …
Run Code Online (Sandbox Code Playgroud)

rxjs angular2-observables angular

2
推荐指数
1
解决办法
2317
查看次数

LINQ 使用扩展方法语法连接具有不同记录的多个列

对不起,如果我的问题没有多大意义。让我解释。

我有一个现有的 SQL 查询,如下所示:

 SELECT 
     T1.Portfolio, T1.ValueDate as CurrentValueDate, 
     T1.DifferencePercent as CurrentDP, 
     T2.ValueDate as PreviousValueDate, 
     T2.DifferencePercent as PreviousDP,
     CASE 
        WHEN T1.DifferencePercent = T2.DifferencePercent 
          THEN 1 
          ELSE 0 
     END as IsChange
 FROM 
     [AccountingData].[dbo].[NAVRec_NAVSummary] T1
 JOIN 
     [AccountingData].[dbo].[NAVRec_NAVSummary] T2 ON T1.Portfolio = T2.Portfolio AND T2.ValueDate = DATEADD(DAY, CASE DATENAME(WEEKDAY, T1.ValueDate) WHEN 'Sunday' THEN -2 WHEN 'Monday' THEN -3 ELSE -1 END, DATEDIFF(DAY, 0, T1.ValueDate))
Run Code Online (Sandbox Code Playgroud)

所以基本上,我对显示投资组合以及一列感兴趣,该列说明投资组合的DifferencePercent价值是否与前一个工作日相同投资组合的价值发生了变化。

我正在尝试使用扩展方法语法将相同的 sql 查询转换为 LINQ。但是,现在我只是想使用 Portfolio 属性和今天的 Portfolio 的 ValueDate 和上一个业务日期的同一投资组合的 ValueDate 进行自连接。

var result = NavList.Join(NavList, …
Run Code Online (Sandbox Code Playgroud)

c# linq sql-server self-join

1
推荐指数
1
解决办法
1301
查看次数

Angular FormArray 索引未传递到输入文件类型更改事件中

我有一个 Angular ReactiveForms FormArray,它基本上渲染一个带有文件输入的扩展面板。我想传递 FormArray 的 FormGroup 的索引,根据该索引选择文件。为此,我将索引 (bankAccountIndex) 作为附加参数传递给文件输入(更改)事件。但是,该值始终为零。如果我对标记中的值进行硬编码,那么我会在代码隐藏中获得该值,但在传递索引变量时不会获得该值。

下面是我的代码:

 <mat-accordion [togglePosition]="'before'">
              <ng-container *ngFor="let bankFormGroup of bankAccountsFormArray.controls; let bankAccountIndex=index">
                <ng-container [formGroupName]="bankAccountIndex">
                  <mat-expansion-panel>
                    <span>
                       <label for="file-upload" class="override-margin-bottom" [ngClass]="{'disabled-control': form.disabled}">
                           <fa-icon [icon]="faUpload" class="file-upload-icon" size="lg"></fa-icon>
                       </label>
                       <input type="file" id="file-upload" (change)="onHandleBankLogoUploadEvent($event.target.files, bankAccountIndex)"
                                style="display: none;" />
                       <input type="text" #bankLogo formControlName="bankLogoBase64Image" style="display: none;">
                       <img [src]="bankLogo.value" *ngIf="bankLogo.value" style="height: 30px;" />
                    </span>
                </mat-expansion-panel>
           </ng-container>
      </ng-container>
 </mat-accordion>
Run Code Online (Sandbox Code Playgroud)

TypeScript 文件输入更改事件处理程序:

onHandleBankLogoUploadEvent(files: FileList, bankAccountIndex: number) {
    ...
}
Run Code Online (Sandbox Code Playgroud)

我的组件OnInit():

ngOnInit() {
    this.toastrService.overlayContainer = this.toastContainer;
    this.toastrService.clear();

    this.initializeForm();

    this.bankAccounts$ = this.firestore.collection<BankAccount>('bankAccounts')
      .valueChanges({ …
Run Code Online (Sandbox Code Playgroud)

angular angular-reactive-forms

1
推荐指数
1
解决办法
750
查看次数

如何使用iTextSharp在PDF中显示✔?

我正在尝试使用iTextSharp在PDF中显示"✔"字符.但是,角色不会显示在创建的PDF上.请帮帮我.

c# pdf itext

0
推荐指数
1
解决办法
5064
查看次数