问题列表 - 第3626页

WPF类库中的程序集范围/根级别样式

我有一个支持WPF的C#(2008/.NET 3.5)类库程序集(基于这篇文章).
我创建了几个窗口,现在我正在尝试为它们创建一个通用的样式集.但是,因为它是一个类库(而不是WPF应用程序),所以我没有app.xaml(及其包含的Application和相应的Application.Resources)来存储这些样式以进行全局访问.

那么:我如何创建一个顶级的样式定义集,这些样式定义将被程序集中的所有xaml文件看到,因为我没有app.xaml(见上文)?和/或是否可以一个有效的app.xaml 添加到类库中?

仅供参考,我尝试在ResourceDictionary.xaml文件中创建ResourceDictionary,并将其包含在"Window.Resources"块中的每个窗口中.结果是解决了按钮等的样式......但不适用于封闭的Window.我可以放入Style="{StaticResource MyWindowStyle}"Window的开放块,它可以编译并在VS Design窗口中显示,但在实际运行时我得到一个解析异常(无法找到MyWindowStyle;我猜测Visual Studio看到后面包含的字典有问题的行,但CRL更顺序地执行,因此尚未加载ResourceDictionary).


感谢您的想法,但仍然没有...显然类库不会隐式支持generic.xaml用法.我将generic.xaml添加到我的类库项目中,并将其Build Action设置为"Resource".它包含:

<ResourceDictionary 
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
    <Style TargetType="{x:Type Window}" x:Key="MyWindow">
        <Setter Property="Background" Value="Black"/>
    </Style>
</ResourceDictionary>
Run Code Online (Sandbox Code Playgroud)

我想要使​​用主题的窗口xaml如下所示:

<Window x:Class="MyAssembly.ConfigureGenericButtons"
    x:ClassModifier="internal"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Style="{StaticResource MyWindow}"
    Title="ConfigureGenericButtons">
...Buttons, etc...
</Window>
Run Code Online (Sandbox Code Playgroud)

虽然VS Design窗口没有显示使用MyWindow样式的窗口(即黑色背景),但它编译良好并启动.但是,当包含此类库的应用程序进行调用以导致显示此窗口时,我会收到XamlParseException:

找不到名为"{MyWindow}"的资源.

我也尝试省略Style参数,以查看默认情况下窗口是否会使用该样式(我尝试使用包含和不包含的generic.xaml中的x:Key).没有错误,但generic.xaml中定义的任何内容都没有出现.

我在这里做错了什么,或者关于如何允许在窗口上使用常见自定义样式的任何其他想法(即,不必在每个Window的xaml中定义样式) - 需要注意的是这不是应用?

.net c# wpf xaml

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

如何最好地将SharePoint多用户字段字符串转换为SPUsers数组?

我正在为SharePoint列表编写ItemAdding处理程序,该列表包含多用户字段.由于此时SPItem实际上不可用,我认为我已经降级为使用从SPItemEventDataCollection返回的字符串.当user1,user2和user3存在时,该字符串将如下所示:

1; #MYDOMAIN\USER1;#4; #MYDOMAIN\USER2;#10; #MYDOMAIN \用户3

我想将其转换为SPUser对象数组,以便将其传递给另一个现有方法.是否有任何SharePoint内置方法来处理这些字符串,还是我降级为解析此字符串?

此外,假设我需要处理此字符串,它看起来像这里的整数标记始终对应于后面的域\用户名.是否有任何情况,这将不是真的,整数或域\用户名丢失或不正确?使用数字并使用SPWeb的SiteUsers.GetByID(id)方法是否安全?在一些测试中,我无法让它失败,但是如果数字和字符串数据完全是冗余的,那么它们似乎很奇怪.

谢谢!

sharepoint wss

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

SQL"IF","BEGIN","END","END IF"?

根本不是SQL人员.请顾问写下以下代码.

首先,它确保只选择了一所小学 - 然后,在BEGIN之后,如果变量@Term等于3,我们想在IF语句下做这些东西.这是问题所在.当@Term不是= 3时,我们仍然想要下拉并执行SECOND INSERT INTO @Classes部分.仅供参考 - 当运行时,Term = 3,但它不同时执行两个INSERT - 如果在"IF @Term = 3"部分的末尾有一个END IF,而不仅仅是一个简单的END?

IF @SchoolCategoryCode = 'Elem' 

--- We now have determined we are processing an elementary school...

BEGIN

---- Only do the following if the variable @Term equals a 3 - if it does not, skip just this first part

    IF @Term = 3

    BEGIN

        INSERT INTO @Classes

        SELECT      
        XXXXXX  
        FROM XXXX blah blah blah

    END   <----(Should this be ENDIF?)

---- **always** "fall thru" …
Run Code Online (Sandbox Code Playgroud)

sql

40
推荐指数
5
解决办法
22万
查看次数

你觉得你的主键怎么样?

在我的团队的一个相当生气勃勃的讨论中,我被认为是大多数人喜欢的主键.我们有以下小组 -

  1. Int/BigInt哪个自动增量是足够好的主键.
  2. 应该至少有3列构成主键.
  3. Id,GUID和人类可读行标识符都应该区别对待.

什么是PK的最佳方法?如果你可以证明你的意见,这将是很棒的.上面有没有更好的方法?

编辑:任何人都有一个简单的样本/算法来生成可扩展的行的人类可读标识符?

algorithm ddl database-design primary-key relational-database

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

在delphi中添加多个函数调用?

  case i of
         0..99  :   Function-call('bobo') ;
         100..209 : function-smell('Hobo');
         210..300 : function-yikes('argh');
       end;
Run Code Online (Sandbox Code Playgroud)

但是,如果我想要210..300来调用功能和功能气味怎么办?无法弄清楚如何谢谢.

delphi

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

ORM仍然是"计算机科学的越南"吗?

我昨晚读了这篇文章,我注意到它是从2006年开始的.我可以选择ORM,数据库的任何一种方式,但我只是想知道是否一切都不好杰夫说ORM仍然适用,即使现在考虑帖子是从2006年.

database language-agnostic orm

31
推荐指数
5
解决办法
8058
查看次数

MouseMove事件对绘画来说太慢了

我正在使用C#WinForms为我的XNA游戏创建一个关卡生成器.我有一个瓷砖网格,您可以使用铅笔工具绘制,就像在MSPaint中一样.问题是,当您快速拖动鼠标(ish)绘制线条时,会跳过图块.

我曾尝试使用我在谷歌上看到的一种方法,即生成一个线程来进行绘画,但这似乎没有帮助.

有任何想法吗?

.net c# xna winforms

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

在Windows上用软件关闭USB设备

我想通过Windows上的软件重启USB设备.

我正在开发一个小型USB功率微控制器.该芯片将在电源循环中恢复原生行为并允许代码下载.由于我的代码会在出现问题时使设备崩溃 - 使其忽略所有USB命令 - 我必须从系统中物理拔出设备.

我想远程进行开发,而不必亲自到场.

到目前为止,我已尝试使用"devcon"来禁用部分USB堆栈.虽然这会将集线器带入D3(应该关闭电源!),但仍然会为设备供电.

是否有任何预先存在的解决方案或SetupAPI技巧可能会有所帮助?

windows embedded usb microcontroller winapi

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

为什么"控制"字符在XML 1.0中是非法的?

在XML 1.0中有许多不合法编码的字符,例如U+0007('bell')和U+001B('escape').大多数有趣的是非空白的"控制"字符.

从(例如)这个问题和其他问题可以清楚地看出,这是XML规范的问题 - 但是有人可以说明为什么 XML规范禁止这些字符吗?

现在看来似乎可能已要求他们在越狱进行编码,例如,作为&#x0007;&#x001B;分别,但也许有一个实际的原因的字符被禁止,而不是需要进行转义?

Answerers建议避免传输控制字符有一些动机,但Unicode包含许多其他类似控件的字符(考虑U+200C"零宽度非连接").我认识到这种行为可能没有充分的理由,但我仍然希望更好地理解它.

这特别令人沮丧,因为当这些字符值出现在其他编码数据格式中时,我最终"双重转义"需要对其进行编码的新XML文档.

xml unicode history

61
推荐指数
4
解决办法
3万
查看次数

OpenSearch OSDD文档在哪里?

有没有人知道我将这个XML文档命名为什么?现在我把它创建在哪里?

我想在我的网站上提供OSDD(OpenSearch描述文档),以便谷歌浏览器自动获取它的搜索功能.谷歌告诉我它是如何完成的,但不是应该托管的地方.我也找不到任何关于OpenSearch网站上最终位置的引用.我甚至尝试过寻找支持它的地方的来源,看看它是否是某种META标签无济于事.

编辑嗯,有一种方法可以明确地做到这一点.现在我只需要看看它是否有自动发生的方式,因为它在许多站点上都没有(它们都没有任何类型的链接标记):bugmenot.com,*.craigslist.org,以及任何其他网站可能会在他们右键单击他们的Chrome地址栏并选择"编辑搜索引擎..."时找到.

google-chrome opensearch

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