小编dka*_*man的帖子

如何使用ItemContainerStyle设置MenuItem的图标

我正在遵循将a绑定MenuItem到数据对象的示例.

<Menu Grid.Row="0" KeyboardNavigation.TabNavigation="Cycle"
      ItemsSource="{Binding Path=MenuCommands}">  
    <Menu.ItemContainerStyle>
        <Style>
            <Setter Property="MenuItem.Header" Value="{Binding Path=DisplayName}"/>
            <Setter Property="MenuItem.ItemsSource" Value="{Binding Path=Commands}"/>
            <Setter Property="MenuItem.Command" Value="{Binding Path=Command}"/>
            <Setter Property="MenuItem.Icon" Value="{Binding Path=Icon}"/>
        </Style>
    </Menu.ItemContainerStyle>                
</Menu>
Run Code Online (Sandbox Code Playgroud)

这一切都在游泳,除了MenuItem图标显示为字符串System.Drawing.Bitmap.有问题的位图由数据对象从已编译的资源返回.

internal static System.Drawing.Bitmap folder_page
{
    get
    {
        object obj = ResourceManager.GetObject("folder_page", resourceCulture);
        return ((System.Drawing.Bitmap)(obj));
    }
}
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

data-binding wpf icons mvvm menuitem

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

为什么编译后代码注入比预编译代码注入更好?

所以,我们都知道,C#没有一个类似C的宏预处理器(和有一个很好的线程为什么在这里).但是现在AOP正在获得牵引力,似乎我们开始使用后处理器(我们曾经使用过预处理器)做的事情(请记住,我只是在使用PostSharp,所以可能不在).

我是C#中属性的忠实粉丝,但是如果一个预处理器被遗漏了很多原因(作为一个前MFC用户,我仍然质疑但仍接受)为什么编译后代码注入比预先更好编译代码注入?

c# macros aop postsharp c-preprocessor

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

我可以让Google的OAuth2显示移动设备友好的审批页面吗?

我正在开发一款可以使用OAuth2进行身份验证的移动应用.

它工作得很好但是当我导航到批准Uri时,谷歌正在返回看起来像一个完整的桌面应用程序批准页面.它看起来并不太糟糕,但我更愿意获得你可以要求Google的OAuth 1显示的精简版移动版本.

(来自http://code.google.com/apis/accounts/docs/OAuth_ref.html)

btmpl

(optional) Forces a mobile version of the approval page. The only accepted value is "mobile". This is a Google-specific parameter.
Run Code Online (Sandbox Code Playgroud)

我已经尝试将其添加到OAuth2批准Uri但不高兴.因此,如果我使用Google安装的应用程序身份验证流程,是否有任何选项可以指示请求来自小屏幕设备?

我正在使用的oauth端点:

https://accounts.google.com/o/oauth2/auth?response_type=code&redirect_uri=http://localhost&scope=https://www.googleapis.com/auth/userinfo.profile&client_id=XXXXXXX.apps.googleusercontent.com
Run Code Online (Sandbox Code Playgroud)

oauth-2.0

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

如何使用反射找到特定的泛型过载?

我试图创建一个Expression将调用特定的泛型重载方法(Enumerable.Average在我的第一个测试用例中).特定类型绑定直到运行时才知道,因此我需要使用它Reflection来查找和创建正确的泛型方法(Expression从解析的文本创建).

所以如果我在运行时知道我想找到这个特定的重载:

public static double Average<TSource>(this IEnumerable<TSource> source, Func<TSource, int> selector)
Run Code Online (Sandbox Code Playgroud)

如何MethodInfo使用反射解决该特定问题?

到目前为止,我有以下选择声明:

MethodInfo GetMethod(Type argType, Type returnType)
{
    var methods = from method in typeof(Enumerable).GetMethods(BindingFlags.Public | BindingFlags.Static)
      where method.Name == "Average" &&
      method.ContainsGenericParameters &&                              
      method.GetParameters().Length == 2 &&
      // and some condition where method.GetParameters()[1] is a Func that returns type argType
      method.ReturnType == returnType
      select method;

      Debug.Assert(methods.Count() == 1);
      return methods.FirstOrDefault();
}
Run Code Online (Sandbox Code Playgroud)

上面将它缩小到三个重载,但我想反映并找到需要在Func<TSource, int>哪里的特定重载argType == typeof(int) …

c# generics reflection .net-3.5 linq-expressions

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

有没有办法确定泛型类型是否是从特定的泛型类型定义构建的?

我有一个通用的方法:

Func<IEnumerable<T>, bool> CreateFunction<T>()
Run Code Online (Sandbox Code Playgroud)

哪里T可以是任何数量的不同类型.这个方法使用反射做一堆东西,如果T是的话IDictionary,不管字典是什么TKey,TValue我需要执行字典特定的代码.

所以可以调用该方法:

var f = CreateFunction<string>();
var f0 = CreateFunction<SomePocoType>();
var f1 = CreateFunction<IDictionary<string,object>>();
var f2 = CreateFunction<Dictionary<string,object>>();
var f3 = CreateFunction<SomeDerivedDictionaryType<string,object>>();
Run Code Online (Sandbox Code Playgroud)

等等

根据@Andy的答案澄清

最终我想知道是否T从/ implements继承,IDictionary即使它T本身是Dictionary或从该接口派生的其他类型.

if(typeof(T) == typeof(IDictionary<,>)
Run Code Online (Sandbox Code Playgroud)

不起作用,因为T泛型类型不是泛型类型定义.

并且在不知道TKeyTValue(在编译时不知道)的情况下,我不能对运行时我知道的任何具体类型进行比较.

我唯一想到的就是查看类型的名称或者用反射检查它的方法,寻找能让我相信它是字典的方法(即寻找ContainsKeyget_Item).

有没有直接的方法来做出这种决定?

c# generics reflection types

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

我可以阻止Windows Phone 7上的屏幕超时吗?

在基于CE的Windows Mobile中,您可以使用SetPowerRequirementReleasePowerRequirement API 来防止屏幕背光超时,如下所示:

IntPtr handle = SetPowerRequirement("BKL1:", PowerState.FULL, 1, IntPtr.Zero, 0);
// screen won't timeout while you do stuff in here
ReleasePowerREquirement(handle);
Run Code Online (Sandbox Code Playgroud)

在WP7上有类似的事情吗?

backlight windows-phone-7

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

如何使用一周的非标准第一天在 Oracle 中计算一年中的一周?

我有一个查询,需要返回日期字段的“年度周刊”,但查询的客户使用一周的非标准第一天,所以TO_CHAR'IW'没有返回预期的结果。在这种情况下,一周的第一天是周六,周五是一周的第七天。

使用 T-SQL 我会使用DATEPARTSET DATEFIRST

什么是 Oracle 等价物?我在谷歌中找到的 Oracle 答案都在谈论设置NLS_TERRITORY类似的内容,ALTER SESSION SET NLS_TERRITORY = 'UNITED KINGDOM';但我没有看到我可以选择任意一天的位置(除了可能找到使用星期六的区域)。

oracle datetime

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

VSCode 中后台任务的正确开始模式和结束模式是什么?

我有一个静态网站(即只有 html 和客户端 JavaScript),在本地调试时使用 python 提供服务。我有一个 VSCode 任务将正确启动 python,并尝试将该任务设置为preLaunchTaskChrome调试器启动任务。理想的行为是,每当我开始调试serve以下任务时,都会确保站点正在运行。

如果我正确理解后台任务,可以设置beginsPatternendsPattern来表示状态变化。

我期待当 python 回显时

在 0.0.0.0 端口 8000 ( http://0.0.0.0:8000/ ) 上提供 HTTP 服务...

下面将向启动任务发出信号,表明它已经开始stdoutproblemMatcher相反,启动任务会永远等待,直到任务的 shell 命令终止后才会继续。

可以配置任务来实现这种行为吗?

启动配置

{
    "version": "0.2.0",
    "configurations": [
        {
            "type": "chrome",
            "request": "launch",
            "name": "Launch Chrome against localhost",
            "url": "http://localhost:8000",
            "webRoot": "${workspaceFolder}/webroot",
            "preLaunchTask": "serve"
        }
    ]
}
Run Code Online (Sandbox Code Playgroud)

服务任务

{
    "version": "2.0.0",
    "tasks": [
        {
            "label": "serve",
            "type": "shell",
            "command": "python3 -m …
Run Code Online (Sandbox Code Playgroud)

visual-studio-code vscode-tasks

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

模型可以观察视图吗?

我正在用Java开发一个应用程序,在我的GUI中我有几个JPanels有很多设置,这就是View.这几个背景中只有一个模型JPanels.通常情况下,我会观察模型JPanels.

我只是想知道,从模型中观察视图是一种好习惯吗?因为,用户更改了视图,此更改必须影响我的模型.或者我在这里错过了一些重要的原则?谢谢您的帮助..

java oop model-view-controller design-patterns

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

XML文档解析C#

我有一个REST Web服务创建一个XMLDocument我有点困惑如何访问内部文本FormattedPrice使用XMLNode.我可以毕业,但这会给我所有的内心文字.

<Offers>
    <Offer>
       <OfferListing>
          <Price>
            <Amount>1067</Amount>
            <CurrencyCode>USD</CurrencyCode>
            <FormattedPrice>$10.67</FormattedPrice>
          </Price>
       </OfferListing>
    </Offer>
</Offers>
Run Code Online (Sandbox Code Playgroud)

c# xml

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