小编den*_*ver的帖子

跨多个网格的WPF Grid.IsSharedSizeScope

我有一种情况,我有多个网格中的按钮,并要求所有按钮的大小相同.我试图使用Grid.IsSharedSizeScope但是没有成功.

最终布局应如下图所示,但所有按钮的大小应相同. 在此输入图像描述

XAML目前看起来像这样.有谁看到我哪里出错了?

<UserControl x:Class="UserControls.UserControl2"
         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="300" d:DesignWidth="300">
<Grid Grid.IsSharedSizeScope="True">
    <Grid.RowDefinitions>
        <RowDefinition Height="Auto" />
        <RowDefinition Height="Auto" />
    </Grid.RowDefinitions>
    <Grid.ColumnDefinitions>
        <ColumnDefinition Width="Auto" />
    </Grid.ColumnDefinitions>
    <GroupBox Grid.Row="0" Grid.Column="0" Header="Header 1" Grid.IsSharedSizeScope="True">
        <Grid Grid.IsSharedSizeScope="True">
            <Grid.RowDefinitions>
                <RowDefinition Height="Auto" />
            </Grid.RowDefinitions>
            <Grid.ColumnDefinitions>
                <ColumnDefinition Width="Auto" SharedSizeGroup="Button" />
                <ColumnDefinition Width="Auto" SharedSizeGroup="Button" />
                <ColumnDefinition Width="Auto" SharedSizeGroup="Button" />
            </Grid.ColumnDefinitions>
            <Button Content="A" Grid.Row="0" Grid.Column="0" Margin="2" />
            <Button Content="B" Grid.Row="0" Grid.Column="1" Margin="2" />
            <Button Content="C" Grid.Row="0" Grid.Column="2" Margin="2" />
        </Grid>
    </GroupBox>
    <GroupBox Grid.Row="1" Grid.Column="0" Header="Header 2" Grid.IsSharedSizeScope="True"> …
Run Code Online (Sandbox Code Playgroud)

c# wpf xaml issharedsizescope

11
推荐指数
1
解决办法
8058
查看次数

C#防止ctrl-c进入子进程

我有一个控制台应用程序(称为主机),该应用程序使用System.Diagnostics.Process管理多个应用程序。主机控制这些外部进程的启动和停止。

当向控制台发出Ctrl + C(SIGINT)时,主机应安全地终止其他进程。问题在于,在主机能够安全关闭它们之前,其他进程也接收Ctrl + C并立即终止。

我知道Ctrl + C会发给控制台进程树中的每个进程。如果主机仍在启动并正在运行,该如何防止Ctrl + C到达其他进程?我没有参与其他进程的开发,因此无法直接更改其对Ctrl + C的处理。谢谢

c# system.diagnostics

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

首次运行时WPF NotifyIcon崩溃 - VisualTarget的根Visual不能拥有父级

更新:问题似乎是在.NET 4.5.2中引入的.4.5.1或4.5都不会出现问题.

我有一个奇怪的问题,我调试有困难.我们在Philipp Sumi制作的NotifyIcon之上构建了一个WPF应用程序. http://www.codeproject.com/Articles/36468/WPF-NotifyIcon http://www.hardcodet.net/wpf-notifyicon

我们正在使用来自金块的verion:

<package id="Hardcodet.NotifyIcon.Wpf" version="1.0.5" targetFramework="net45" />
Run Code Online (Sandbox Code Playgroud)

问题是第一次(并且只是第一次)运行应用程序时,它失败并出现以下异常.当鼠标悬停在系统托盘图标上时,可以轻松地重新创建.在后续运行中没有问题.应用程序没有任何已保存的状态或持久数据.我不知道第一次和后续运行之间有任何区别.然而,第二次启动速度要快得多. NotifyIcon附带的无窗口示例应用程序中出现同样的问题.

异常消息和堆栈跟踪

c# wpf notifyicon .net-4.5.2

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

正确清理System.ServiceModel.ServiceHost

我对清理ServiceHost的最佳方法感到困惑.我在代码中发现了问题,因为Visual Studio代码分析器发出了CA1001警告,建议我为我的类实现IDisposable接口.

我已经阅读了关于IDisposable的讨论并熟悉了典型的用例,但在这个例子中发现自己很困惑.确保ServiceHost正在处理并可能满足CA1001的正确方法是什么.谢谢.

我的代码如下所示:

public class MyClass
{
    private ServiceHost host = null;

    public void StartListening(...)
    {
        // make sure we are not already listening for connections
        if (host != null && host.State != CommunicationState.Closed)
            StopListening();

        // create service host instance
        host = new ServiceHostWithData(typeof(ServiceHandler), address);

        // do a bunch of configuration stuff on the host

        host.Open();
    }

    public void StopListening()
    {
        // if we are not closed
        if ((host != null) && (host.State != CommunicationState.Closed))
        {
            host.Close();
            host = …
Run Code Online (Sandbox Code Playgroud)

c# wcf idisposable servicehost

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

只有在关联的C-STORE完成后才能收到C-MOVE成功消息吗?

我们有一个客户端向PACS服务器发出C-MOVE请求.我的理解是,在关闭C-MOVE关联并返回成功状态之前,将打开辅助关联并完成C-STORE操作.

对于一个特定的PACS,我们只是在实际发生了C-STORE子操作之后才接收到C-MOVE成功完成状态.成功消息的状态表明它们都已发生.

(0000,0002) UI =Study Root Query/Retrieve Information Model - MOVE #   28 Affected SOP Class UID 1
(0000,0100) US 32801                                    #    2 Command Field 1
(0000,0120) US 1                                        #    2 Message ID Being Responded To 1
(0000,0800) US 257                                      #    2 Data Set Type 1
(0000,0900) US 0                                        #    2 Status 1
(0000,0902) LO (no value available)                     #    0 Error Comment 1
(0000,1020) US (no value available)                     #    0 Number of Remaining Sub-operations 1
(0000,1021) US 248                                      #    2 …
Run Code Online (Sandbox Code Playgroud)

dicom clearcanvas

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

WCF是否调用处理发送和接收的对象?

我们有一个使用流传递大型对象的合同.服务和消息合同归结为类似的东西.

[ServiceContract]
public interface IData
{
    [OperationContract]
    Item Get(ItemRequest request);

    [OperationContract]
    void Put(Item request);
}

[MessageContract]
public class Item: IDisposable
{
    [MessageBodyMember(Order = 1)]
    public Stream FileByteStream;

    public void Dispose() {...}
}
Run Code Online (Sandbox Code Playgroud)

Item类提供了Disposable模式的标准实现.我的问题是WCF调用Item类的Dispose方法.通过ServiceHost的WCF基本上负责从我们的服务合同实现中传递和接收Item对象.

网上有很多例子(例如这个),但是如果它们发生的话,它们都没有被称为处理或提及.

.net c# wcf idisposable

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

分流场验证表达式

我们使用Shunting-Yard算法评估表达式。我们可以通过简单地应用算法来验证表达式。如果缺少操作数,括号不匹配以及其他原因,它将失败。但是,Shunting-Yard算法具有比仅人类可读的前缀更大的支持语法。例如,

1 + 2
+ 1 2
1 2 +
Run Code Online (Sandbox Code Playgroud)

是将“ 1 + 2”作为输入提供给Shunting-Yard算法的所有可接受的方法。“ +1 2”和“ 1 2 +”不是有效的中缀,但是标准的Shunting-Yard算法可以处理它们。该算法并不真正在乎顺序,它通过抢占“最近”操作数的优先顺序来应用运算符。

我们希望将输入内容限制为有效的人类可读中缀。我正在寻找一种方法来修改Shunting-Yard算法以使用无效的中缀失败,或者在使用Shunting-Yard之前提供中缀验证。

有人知道有任何公开的技术可以做到这一点吗?我们必须同时支持基本运算符,自定义运算符,方括号和函数(带有多个参数)。除了网上的基本运营商,我还没有看到更多与之合作的产品。

谢谢

c# algorithm parsing expression shunting-yard

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

XML序列化DateTime的默认格式

我正在使用DataContractSerializer类序列化DateTime对象.我得到以下输出.

2013-05-21T10:50:23.5602265-04:00
Run Code Online (Sandbox Code Playgroud)

什么是最终组件?

YYYY-MM-DDTHH:MM:SS.zzzzzzz-??:??
Run Code Online (Sandbox Code Playgroud)

谢谢

c# serialization datetime xml-serialization

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