小编Gug*_*uge的帖子

好吧,全局变量被谴责,单身人士被鄙视,还有什么选择?

对于桌面应用程序.这只是一个普遍的问题,可能只需要一般的答案.

singleton global-variables

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

在ItemsControl中的每个项目周围包裹一些东西

假设我有一组不同类的对象.每个类在资源文件中都有UserControl DataTemplated.

现在我想使用ItemsControl来显示集合,但我希望每个项目周围都有一个Border或Expander.

我希望这样的东西能起作用:

<ItemsControl ItemsSource="{Binding MyObjects}">
    <ItemsControl.ItemsPanel>
        <ItemsPanelTemplate>
            <StackPanel Orientation="Horizontal"/>
        </ItemsPanelTemplate>
    </ItemsControl.ItemsPanel>
    <ItemsControl.ItemTemplate>
        <DataTemplate>
            <Border BorderBrush="Black" BorderThickness="3">
                <ContentPresenter/>
            </Border>
        </DataTemplate>
    </ItemsControl.ItemTemplate>
</ItemsControl>
Run Code Online (Sandbox Code Playgroud)

但是ContentPresenter似乎选择了ItemTemplate,因为我得到了堆栈溢出.

如何在ItemTemplate中获取每个Item的DataTemplate?

wpf datatemplate itemtemplate itemscontrol

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

如何使WPF DependencyProperty不活动?

在代码隐藏中的依赖项属性上运行WPF动画后,无法再使用SetValue设置依赖项属性.它们只能通过动画进行更改.

我想更改依赖项属性,有时通过短动画,有时会立即在代码中.

那么如何在动画结束后从依赖属性中删除动画呢?

wpf animation dependency-properties code-behind

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

你何时放弃SQL中的set操作并进行程序化?

我曾经在RDBMS中做过这个任务:

给出表客户,订单,订单和产品.通常的字段和关系完成的所有事情,以及订单表上的评论备注字段.

对于一位客户,检索客户订购的所有产品的清单,其中包括产品名称,首次购买年份,最近三次购买的日期,最新订单的评论,该产品 - 客户组合的总收入总和,过去12个月.

几天后,我放弃了将其作为查询进行操作,并选择仅为客户获取每个订单行,并选择每个产品并在程序上运行数据以构建所需的表客户端.

我认为这是以下一种或多种症状:

  • 我是一个懒惰的白痴,应该看看如何在SQL中做到这一点
  • 集合操作不像程序操作那样富有表现力
  • SQL并不像它应该那样富有表现力

我做对了吗?我有其他选择吗?

sql language-agnostic procedural

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

InvalidCastException对象[*]到Object []

我有一个用Visual Fox Pro 9.0编写的COM对象.它有以下程序:

    PROCEDURE GetArray(m.vcArrayName as String) as array
RETURN @&vcArrayName
Run Code Online (Sandbox Code Playgroud)

使用C#在VS2010项目中引用COM对象.C#中程序的签名是:

object GetArray(string vcArrayName);
Run Code Online (Sandbox Code Playgroud)

调试时,我可以看到返回的值是{object [1..1]},而类型是object {object []}.扩展变量,我可以看到它是一个基数1的数组,其中一个元素是一个空字符串("");

但是,我无法将此值转换为object [].我总是得到一个带有挪威语消息的InvalidCastException,说我无法将Object [*]强制转换为Object [].

奇怪的是,如果COM对象返回一个二维数组,我将它转换为对象[,]是没有问题的.我发现很奇怪两个维度比一个维度更容易处理!

我想回答的问题是:

什么是这个对象[*]业务?任何人都可以告诉我它是否是挪威异常消息中的错误翻译,或者对象[*]是否是某种我从未听说过的模糊C#语法?

c# com integration casting visual-foxpro

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

通过RealProxy引用参数

我需要通过RealProxy调用带有ref-arguments的方法.我已将问题分解为以下代码:

using System;
using System.Reflection;
using System.Runtime.Remoting.Messaging;
using System.Runtime.Remoting.Proxies;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
             HelloClass hello=new HelloClass();
             TestProxy proxy = new TestProxy(hello);
             HelloClass hello2 = proxy.GetTransparentProxy() as HelloClass;

             string t = "";
             hello2.SayHello(ref t);
             Console.Out.WriteLine(t);
        }
    }

    public class TestProxy : RealProxy
    {
         HelloClass _hello;

         public TestProxy(HelloClass hello)
             : base(typeof(HelloClass))
         {
             this._hello = hello;
         }

         public override System.Runtime.Remoting.Messaging.IMessage Invoke(System.Runtime.Remoting.Messaging.IMessage msg)
        {
            IMethodCallMessage call = msg as IMethodCallMessage;
            object returnValue = typeof(HelloClass).InvokeMember(call.MethodName, BindingFlags.InvokeMethod | BindingFlags.Public …
Run Code Online (Sandbox Code Playgroud)

c# arguments reference realproxy

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