小编Can*_*ith的帖子

C#中的静态变量初始化顺序是什么?

DependencyProperty.AddOwner MSDN页面提供了一个示例,其中包含两个具有静态成员的类,并且一个类的成员依赖于另一个类的成员进行初始化.我认为MSDN是错误的 - 静态变量的初始化顺序在C#中是不可靠的,就像在C++或其他任何地方一样.我可能错了,因为WPF库本身就是这样编写的,它运行得很好.我错过了什么?C#编译器如何知道安全初始化顺序?

c# wpf

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

在终结器中访问引用类型成员变量是否安全?

换一种说法,

class Foo
{
    object obj;
    Foo() { obj = new object(); }
    ~Foo() { obj.ToString(); /* NullReferenceException? */ }
}
Run Code Online (Sandbox Code Playgroud)

.net finalizer

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

在Windows中,我应该使用CreateFile还是fopen,除了可移植性?

有什么区别,在什么情况下,哪一方面会以某种方式证明是优越的?

windows winapi fopen createfile

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

BSTR,LPCOLESTR和其他人的含义是什么?

BSTR,LPCOLESTR,LPCWSTR,LPTSTR,LPCWCHAR以及许多其他的含义是什么,如果它们只是一堆解析为wchar_t的定义?

winapi

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

如何正确设计花式垂直ProgressBar?

我正在尝试制作一个时尚的进度条,但我的垂直版本有问题.一张图片胜过千言万语:

http://img402.imageshack.us/img402/2033/progressq.gif

到目前为止,我所尝试的一切都导致了错误.我如何实现正确的?我更喜欢只有XAML的解决方案,除非它很慢或者当进度条每秒更新很多次时会导致闪烁.

wpf xaml styles progress-bar

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

TreeView.ItemContainerGenerator.ContainerFromItem为非根项目返回null.解决方法?

在下面的示例中,当我选择"String"时,窗口的标题变为"null".但我必须获得"String"的容器.具体来说,我想要做的相当的SelectedItem = null(但物业只为读TreeView,所以我试图去容器设置其IsSelectedfalse).该怎么办?

<Window x:Class="WpfApplication1.Window1" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
    <Window.Resources>
        <x:Array xmlns="clr-namespace:System;assembly=mscorlib" x:Key="Array" Type="Object">
            <x:ArrayExtension Type="Object">
                <String>String</String>
            </x:ArrayExtension>
        </x:Array>
    </Window.Resources>
    <TreeView ItemsSource="{StaticResource Array}" SelectedItemChanged="Handler">
        <TreeView.ItemTemplate>
            <HierarchicalDataTemplate ItemsSource="{Binding}">
                <TextBlock Text="Array"/>
                <HierarchicalDataTemplate.ItemTemplate>
                    <DataTemplate>
                        <TextBlock Text="{Binding}"/>
                    </DataTemplate>
                </HierarchicalDataTemplate.ItemTemplate>
            </HierarchicalDataTemplate>
        </TreeView.ItemTemplate>
    </TreeView>
Run Code Online (Sandbox Code Playgroud)

namespace WpfApplication1
{
    public partial class Window1 : Window
    {
        public Window1()
        {
            InitializeComponent();
        }

        private void Handler(object sender, EventArgs e)
        {
            var treeView = sender as TreeView;
            var container = treeView.ItemContainerGenerator.ContainerFromItem(treeView.SelectedItem);
            Title = …
Run Code Online (Sandbox Code Playgroud)

c# wpf treeview xaml

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

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

如何以编程方式打开或关闭密码保护共享?

Windows Vista和7在网络和共享中心中具有此开关.它默认处于启用状态,即使它们与Everyone共享(如Public文件夹),也会阻止对共享进行未经身份验证的访问.我需要教我的应用程序自动打开和关闭它.怎么样?我怀疑注册表中有一个值对此负责,但我不知道如何找到它.

windows-vista windows-7

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

各种剪贴板/拖放格式意味着什么?

我一直在玩拖拉.我制作了一个示例应用程序并将文件从My Music文件夹中删除到我的应用程序中.这是e.Data.GetFormats()返回的内容:

  • Shell IDList数组
  • UsingDefaultDragImage
  • DragImageBits
  • DragContext
  • DragSourceHelperFlags
  • InShellDragLoop
  • FileDrop
  • FileNameW
  • 文件名
  • IsShowingLayered
  • DragWindow
  • IsComputingImage
  • DropDescription
  • DisableDragText
  • ComputedDragImage
  • IsShowingText

这些意味着什么以及如何解码和使用它们?

谷歌上的每一个都没有产生任何有用的信息.

.net windows clipboard drag-and-drop

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

绑定到ColumnDefinition.ActualWidth返回0

将其粘贴到苹果酒中.

<Grid x:Name="Grid">
    <Grid.ColumnDefinitions>
        <ColumnDefinition x:Name="ColumnDefinition"/>
    </Grid.ColumnDefinitions>
    <StackPanel HorizontalAlignment="Center" VerticalAlignment="Center">
        <TextBlock Text="{Binding ActualWidth, ElementName=Grid}"/>
        <TextBlock Text="{Binding ActualWidth, ElementName=ColumnDefinition}"/>
    </StackPanel>
</Grid>
Run Code Online (Sandbox Code Playgroud)

现在,运行它.第二个TextBlock显示0,但不应该,对吧?解决方法?

wpf grid xaml binding actualwidth

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