小编Tar*_*Tar的帖子

如何在XAML中的容器(如dll)中获取特定图标?

我可以在XAML中设置图标容器:

<Image Source="Shell32.dll.ico" />
Run Code Online (Sandbox Code Playgroud)

但是如何在XAML中设置容器中的图标索引?就像是:

<Image Source="Shell32.dll,5" />
Run Code Online (Sandbox Code Playgroud)

或者像:

<Image Source="Shell32.dll" Index="5" />
Run Code Online (Sandbox Code Playgroud)

等等...

wpf xaml

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

如何将在线程X中创建的WPF对象传递给线程Y?

我创建了一个SolidColorBrush非GUI线程,并希望将其传递给GUI线程来显示它,但我得到InvalidOperationException:( The calling thread cannot access this object because a different thread owns it.即使我尝试Freeze();它).如何将在线程X中创建的对象传递给线程Y?

我知道我可以SolidColorBrush在GUI线程中创建这个对象Dispatcher,但这会使一切变得复杂......我想在工作线程中创建它.


额外细节:

我在一些静态类中初始化一些静态委托,以允许从业务层向GUI发送消息:

public static class Gui{
    private static PrintMethodDelegate _printMethod;
    public static void InitializeGuiInterface(PrintMethodDelegate printMethod){
        _printMethod = printMethod;
    }
    public static void Print(GuiMessage data) { _printMethod(data); }
}
Run Code Online (Sandbox Code Playgroud)

初始化(在GUI线程中):

Gui.InitializeGuiInterface(_messagesToUserHandler.PrintMessage);
Run Code Online (Sandbox Code Playgroud)

然后在另一个(非gui)线程中,我使用它:

Gui.Print(new GuiMessage(testDescription) { Foreground = new SolidColorBrush(someColor) });
Run Code Online (Sandbox Code Playgroud)

同时GuiMessage是:

public class GuiMessage {
    public string Msg { get; set; }

    private …
Run Code Online (Sandbox Code Playgroud)

c# wpf multithreading

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

XamlParseException:无法加载文件或程序集"ResourceLibrary,..."或其依赖项之一.该系统找不到指定的文件

System.Windows.Markup.XamlParseExceptionoccurred

A first chance exception of type 'System.Windows.Markup.XamlParseException' occurred in PresentationFramework.dll

Additional information: 'Set property 'System.Windows.ResourceDictionary.Source' threw an exception.' Line number '21' and line position '6'.

"Could not load file or assembly 'ResourceLibrary, Culture=neutral' or one of its dependencies. The system cannot find the file specified.":"ResourceLibrary, Culture=neutral"

=== Pre-bind state information ===
LOG: DisplayName = ResourceLibrary, Culture=neutral
 (Partial)
WRN: Partial binding information was supplied for an assembly:
WRN: Assembly Name: ResourceLibrary, Culture=neutral | Domain ID: 2
WRN: A partial bind …
Run Code Online (Sandbox Code Playgroud)

c# wpf using project-reference visual-studio

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

Json.NET deserialization of Tuple<...> inside another type doesn't work?

Using Json.net, deserializing a type that contains a Tuple<...> doesn't work (serialization works, but deserialization doesn't):

[TestMethod]
public void Test()
{
    var orig = new TupleHolder("what????", true);
    var json = JsonConvert.SerializeObject(orig);
    Assert.AreEqual("{\"Tup\":{\"Item1\":\"what????\",\"Item2\":true}}", json);
    // great! serialization works like a charm! now let's test deserialization:
    var dupl = JsonConvert.DeserializeObject<TupleHolder>(json);

    Assert.AreEqual("ZZZ", dupl.Tup.Item1); // pass! but it should be "what????"... what????
    Assert.AreEqual(false, dupl.Tup.Item2); // pass! but it should be "true", right???

    Assert.AreEqual(orig.Tup.Item1, dupl.Tup.Item1); // fail!
    Assert.AreEqual(orig.Tup.Item2, dupl.Tup.Item2); // fail!
}

public class TupleHolder …
Run Code Online (Sandbox Code Playgroud)

c# serialization json.net deserialization json-deserialization

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

pci_enable_device和pcim_enable_device有什么区别?

本书PCI章节解释了:

int pci_enable_device(struct pci_dev *dev);
Run Code Online (Sandbox Code Playgroud)

但是还有:

int pcim_enable_device (struct pci_dev * pdev);
Run Code Online (Sandbox Code Playgroud)

但除了声明它是" 托管pci_enable_device "之外,它没有任何解释.

  1. 那么这两者之间的区别是什么?
  2. 这是什么意思,它是"管理"的?
  3. 我应该使用哪一个?

linux-device-driver linux-kernel pci pci-e

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

如何使一个元素看起来像是在边框"下方",但是当边框有圆角时,边框的内容"在"上方?

TL/DR:

如何使一个元素看起来像是在边框"下方",但是当边框有圆角时,边框的内容"在"上方?

阐述:

这就是我想要完成的事情:当鼠标移动到边框时,从左上角绘制一个"窗帘",直到它覆盖整个边框的内容或者可能只是它的3/4,就像这个例子:

在此输入图像描述

这个"幕布"旨在携带额外的控件来更新其盒子内容.

我现在卡住了创建红色路径 - 我不能使它沿着黑色边框完美对齐,所以它看起来像是来自边界下方,但高于其内容.

这是XAML我目前拥有的:

<UserControl x:Class="FamilyTree.GroupBox"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
             xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
             mc:Ignorable="d" 
             d:DesignHeight="100" d:DesignWidth="100">
    <Grid>
        <StackPanel Orientation="Horizontal" VerticalAlignment="Center">
            <StackPanel.Resources>
                <Style TargetType="{x:Type TextBlock}">
                    <Style.Setters>
                        <Setter Property="VerticalAlignment" Value="Center" />
                    </Style.Setters>
                </Style>
            </StackPanel.Resources>

            <Border CornerRadius="5" BorderBrush="Black" BorderThickness="1" VerticalAlignment="Center" ToolTip="{Binding ToolTipString}" Background="White">
                <Grid>
                    <StackPanel Margin="3">
                        <StackPanel.Resources>
                            <Style TargetType="{x:Type Border}">
                                <Setter Property="CornerRadius" Value="3" />
                                <Setter Property="BorderBrush" Value="Blue" />
                                <Setter Property="BorderThickness" Value="0.6" />
                                <Setter Property="VerticalAlignment" Value="Center" />
                                <Setter Property="Padding">
                                    <Setter.Value>
                                        <Thickness Right="2" />
                                    </Setter.Value>
                                </Setter>
                                <Setter Property="Margin" Value="0" />
                            </Style> …
Run Code Online (Sandbox Code Playgroud)

c# wpf xaml

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

如何持久添加自签名证书以从Visual Studio中更新服务引用?

我在Azure-WCF-WebRole项目中使用了自签名证书.我曾经可以点击Update Service Reference,本地服务消费者只是正确更新了引用.

VM可能有一天会重新创建,从那时起我不能再这样做了(带有错误信息There was an error downloading 'https://....svc/$metadata'..谷歌搜索告诉我运行Fiddler,解密HTTPS然后我就能成功.

它有效,但只在Fiddler运行时才有效.关闭后,Update Service Reference停止工作.

我把证书添加到了我Trusted Root Certification Authorities,但问题仍然存在.

如何持久添加证书,以便Fiddler每次我想在Visual Studio(2015,FWIW)中更新服务引用时都不需要运行?

wcf self-signed azure ssl-certificate visual-studio-2015

7
推荐指数
0
解决办法
139
查看次数

在Log4Net或NLog(或其他一些记录器)中是否有一种方法可以以执行堆栈嵌套的XML或JSON格式输出日志?

在Log4Net或NLog(或其他一些记录器)中是否有一种方法可以以执行堆栈嵌套的XML或JSON格式输出日志,这样如果A()调用函数B(7)调用C("something"),它将输出如下内容:

<Method name="A">
    <Method name="B" params="(int) 7">
        <Method name="C" params="(string) 'something'"/>
    </Method>
</Method>
Run Code Online (Sandbox Code Playgroud)

甚至更好:

<Method name="A">
    <Method name="B" params="(int) 7">
        <Params>
            <int>7</int>
        </Params>
        <Method name="C">
            <Params>
                <string>something</string>
            </Params>
        </Method>
    </Method>
</Method>
Run Code Online (Sandbox Code Playgroud)

为什么?因此,我可以使用(例如)XML Notepad或某些JSON-viewer(不知道任何显着的...)来快速折叠(不相关)或展开(相关)子调用,同时试图理解发生了什么错误.我PostSharp用来记录(目前只使用缩进)每个方法入口/出口和异常

c# logging log4net nlog postsharp

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

如何检测行的开头,或:“当前上下文中不存在名称‘getCharPositionInLine’”

我正在尝试创建一个行首标记:

lexer grammar ScriptLexer;

BOL : {getCharPositionInLine() == 0;}; // Beginning Of Line token
Run Code Online (Sandbox Code Playgroud)

但上面发出错误

The name 'getCharPositionInLine' does not exist in the current context
Run Code Online (Sandbox Code Playgroud)

当它创建此代码时:

private void BOL_action(RuleContext _localctx, int actionIndex) {
    switch (actionIndex) {
    case 0: getCharPositionInLine() == 0; break;
    }
}
Run Code Online (Sandbox Code Playgroud)

getCharPositionInLine()方法不存在...

c# antlr4 antlr4cs

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

Newtonsoft.Json.JsonToken.StartConstructor令牌的目的是什么?

JsonToken enumNewtonsoft.Json namespace含有,除其他外,该条目JsonToken.StartConstructor.

我很可能误解了这个令牌的含义,因为我认为JS的构造函数方法在JSON中无效,就像没有function,表达式或var令牌一样.

那么构造函数如何在JSON中表现出来,如果它是什么呢?

.net c# json json.net

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