小编seb*_*gel的帖子

如何在WPF中设置/重置三态复选框值

我有一个datagrid,其中一个标题列是三态复选框.该列的celltemplate包含两个状态复选框+ AllItems CheckBox - Item1 - Item2 - Item3 ..我想使用AllItems复选框来选择/取消选择工作正常的所有项目(item1,item2).接下来,我想在未选择/取消选择所有项目时将AllItems复选框设置为中间状态.同样,我想在手动选择所有项目时将AllItems复选框设置为选中/取消选中.

这是我试过的代码......

<dg:DataGridTemplateColumn.HeaderTemplate>
    <DataTemplate>
        <StackPanel x:Name="StackPanelForItemCheckbox" Orientation="Horizontal">
           <CheckBox x:Name="AllItemSelectionCheckBox" HorizontalAlignment="Left" Cursor="Hand"  
                     IsChecked="{Binding IsAllItemChecked, Mode=TwoWay}"                                              
                     IsThreeState="True"  Checked="ItemSelectionCheckBox_Checked" 
                     Unchecked="ItemSelectionCheckBox_Unchecked"
                     Click="AllItemSelectionCheckBox_Click">
           <TextBlock x:Name="ItemNameTextBlock" Text="Item" Margin="10,0,0,0">
           ......
<dg:DataGridTemplateColumn.CellTemplate>
       <DataTemplate x:Name="ItemCheckDataTemplate">                                
           <StackPanel x:Name="ItemCheckBoxStackPanel" Orientation="Horizontal">                                    
                  <CheckBox x:Name="itemCheckBox" Cursor="Hand" IsChecked="{Binding IsItemChecked, Mode=TwoWay}" Click="ItemSelectionCheckBox_Click"></CheckBox>
                   <TextBlock x:Name="ItemNameTextBlock" Text="{Binding Path=Item}"> </TextBlock>                                   
            </StackPanel>
         </DataTemplate>
...
Run Code Online (Sandbox Code Playgroud)

"ItemSelectionCheckBox_Click"方法查找所有三个状态(全部检查,未检查,中间)并设置"IsAllItemChecked"属性,即INotifyproperty.这是行不通的.我可能尝试的其他替代方法是找到"AllItems"元素并从代码中设置它.无法在网络上找到类似的内容.几乎没有例子,但TreeView并不是我尝试的方式.有帮助吗?

PS >>

更新了修复以关闭此帖子.

  • 我想要的第一件事是允许"AllItemSelectionCheckBox"在手动选择时只有两个状态(True,False).

    private void AllItemSelectionCheckBox_Click(object sender, RoutedEventArgs e)
    {
        var cb = e.Source as CheckBox;
        if (!cb.IsChecked.HasValue)
            cb.IsChecked = false;  
    }
    
    Run Code Online (Sandbox Code Playgroud)
  • 我想要"AllItemSelectionCheckBox"复选框来显示三态直通代码.
  • 选中所有复选框将使其值为TRUE
  • 未选中所有复选框将导致其值为FALSE …

wpf checkbox wpf-controls wpfdatagrid

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

TeamCity在Code Inspections .NET中"无法解析符号"

我们正在运行TeamCity 10.0.1.
我们项目的构建步骤包括步骤"Inspections(.NET)",它应该运行resharper代码检查.
构建本身和单元测试都是成功的,但检查的结果显示了很多错误:

4: Cannot resolve symbol 'Drawing'
141: Cannot resolve symbol 'Image'
154: Cannot resolve symbol 'Bitmap'
155: Cannot resolve symbol 'Graphics'
[...]
Run Code Online (Sandbox Code Playgroud)

这使我们应该解决的实际问题变得模糊不清.

有人知道为什么检查显示这种错误虽然构建成功,我如何解决这个问题?

.net c# resharper teamcity continuous-integration

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

.net-core 项目还原的包目标始终是全局包目录

我们有一个解决方案,其中一些项目是 .net-core 项目,一些是“正常”的 .net 4.6.1 项目。在解决方案级别,我们有一个 NuGet.config-File 来设置存储库路径:

<configuration>
  <config>
    <add key="repositoryPath" value="packages" />
  </config>
</configuration>
Run Code Online (Sandbox Code Playgroud)

项目 packages.config-Files 中列出的包正在下载到 Nuget.config -> repositoryPath 中指定的路径,但 .net-core 项目文件(通过 PackageReference)中指定的包都下载到了C:\Users\USERNAME\.nuget\packages。

我是使用 Visual Studio 2017 还是通过 nuget.exe 手动执行都没有关系。.net-core 项目只是忽略 NuGet.config。

我们在这里做错了什么?

nuget nuget-package-restore .net-core

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