问题列表 - 第34300页

使用Caliburn.Micro将命令绑定到ListView内的Button

我正在尝试创建类似于MDI选项卡式界面的东西,因此左侧有一个导航窗格(一个列表框),右侧有一个ContentPresenter.

我有一个ShellViewModel,它上面有一个名为AvailAbleScreens的BindableCollection,我成功地使用ListViews DataTemplate绑定到该列表:

<ListView x:Name="AvailableScreens">
    <ListView.ItemTemplate>
        <DataTemplate>
            <WrapPanel>
                <BulletDecorator />
                <Button x:Name="DisplayView">
                    <TextBlock Text="{Binding Path=Name, UpdateSourceTrigger=PropertyChanged}" />
                </Button>
            </WrapPanel>
        </DataTemplate>
    </ListView.ItemTemplate>
Run Code Online (Sandbox Code Playgroud)

现在的问题是,虽然Button的名称设置正确,但我不能让Command为我火.在MdiViewModel类上,我有以下代码用于该按钮:

public bool CanDisplayView()
{
    return true;
}

public void DisplayView()
{
    MessageBox.Show("Hello");
}
Run Code Online (Sandbox Code Playgroud)

所有的Caliburn.Micro示例都通过约定绑定到x:Name属性,但如果我删除Text ="{Binding}"它会停止工作,所以我怀疑这种数据绑定方式对子模型不起作用?

无论如何,Shell的ViewModel目前非常简单:

ShellViewModel
 * AvailableScreens
    -MdiViewModel1
    -MdiViewModel2
 * CurrentActiveScreen
Run Code Online (Sandbox Code Playgroud)

任何想法我如何用Caliburn.Micro做到这一点?Rob Eisenberg在Twitter上向我建议我可能想要在进入完全成熟的Caliburn框架之前开始使用Caliburn.Micro.

c# data-binding wpf mvvm caliburn.micro

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

sql调优 - 具有多个连接

我最近在某处读到了调优SQL查询的方法之一是,如果它有太多的连接,那么用较少的表做一个连接并将结果缓存到临时表中,然后在该表上进行其余的查询连接.

我的问题是它如何改善性能,因为你加入相同数量的表(只是不在一起)?

注意:我同意这是通用声明; 我最近在一篇文章中读到了它.我会改写它.在哪些条件下将结果存储到临时表帮助?

sql oracle optimization join query-optimization

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

原生换行符?

在Haskell中确定本地换行符(例如'\n'或'\ r \n')的最佳方法是什么?

我看到GHC.IO:Handle中有一个"nativeNewline"函数,但是假设它既是私有API又是大多数非标准Haskell.

haskell newline

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

在C#XML序列化中删除数组名称

我正在尝试在序列化XML时得到这个结果:

<Root Name="blah">
  <SomeKey>Eldad</SomeKey>
  <Element>1</Element>
  <Element>2</Element>
  <Element>3</Element>
  <Element>4</Element>
</root>
Run Code Online (Sandbox Code Playgroud)

换句话说 - 我试图在"root"元素中包含一个数组,以及其他键.

这是我粗暴的尝试:

[XmlRootAttribute(ElementName="Root", IsNullable=false)]
public class RootNode
{
    [XmlAttribute("Name")]
    public string Name { get; set; }

    public string SomeKey { get; set; }

    [XmlArrayItem("Element")]
    public List<int> Elements { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

我的序列化:

string result;
XmlSerializer serializer = new XmlSerializer(root.GetType());
StringBuilder sb = new StringBuilder();
using (StringWriter sw = new StringWriter(sb))
{
    serializer.Serialize(sw, root);
    result = sw.ToString();
}
Run Code Online (Sandbox Code Playgroud)

但是,这是我的结果(为清晰起见删除了命名空间):

<Root>
  <SomeKey>Eldad</SomeKey>
  <Elements>
    <Element>1</Element>
    <Element>2</Element>
    <Element>3</Element>
  </Elements>
</Root>
Run Code Online (Sandbox Code Playgroud)

有没有办法删除"元素"部分?

c# xml serialization

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

在c#中加入自我

一起增加价值.

所以:

1 + 0 = 1

3 + 1 = 4

4 + 4 = 8

我如何得到这个,所以它从0开始,我输入1进入一个txtbox,所以它在总数中加1,接下来我在3中输入,所以它总共加3,eqauls 4,现在我输入4,它总共增加4,这意味着它现在是8.

我如何编写代码以继续添加自己?

c# winforms

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

使用IErrorHandler和TCP Message Security会导致超时

我有一个附加自定义IServiceBehavior的WCF服务,用于返回客户端的特定错误.当我使用TCP消息安全性启用此代码时,我收到服务超时.

您可以在下面看到完整的客户端和服务器代码,以重现错误.

服务器代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.ServiceModel;
using System.ServiceModel.Description;
using System.ServiceModel.Dispatcher;
using System.ServiceModel.Channels;

namespace TestWCFServer
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("SERVER");

            NetTcpBinding binding = new NetTcpBinding();
            binding.Security.Mode = SecurityMode.Message; //If you remove this line the code works!!!!

            Uri address = new Uri("net.tcp://localhost:8184/");

            // Create the ServiceHost.
            using (ServiceHost host = new ServiceHost(typeof(HelloWorldService)))
            {
                host.AddServiceEndpoint(typeof(IHelloWorldService), binding, address);

                host.Description.Behaviors.Add(new MyErrorhandlerBehavior());

                host.Open();

                Console.WriteLine("The service is ready at {0}", address);
                Console.WriteLine("Press  to stop the …

.net wcf timeout

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

如何在R中有效使用Rprof?

我想知道是否有可能以R类似于matlabProfiler 的方式从-Code 获取配置文件.也就是说,要了解哪个行号特别慢.

到目前为止,我所取得的成绩在某种程度上并不令人满意.我曾经Rprof让我成为个人资料档案.使用summaryRprof我获得如下内容:

$by.self
                  self.time self.pct total.time total.pct
[.data.frame               0.72     10.1       1.84      25.8
inherits                   0.50      7.0       1.10      15.4
data.frame                 0.48      6.7       4.86      68.3
unique.default             0.44      6.2       0.48       6.7
deparse                    0.36      5.1       1.18      16.6
rbind                      0.30      4.2       2.22      31.2
match                      0.28      3.9       1.38      19.4
[<-.factor                 0.28      3.9       0.56       7.9
levels                     0.26      3.7       0.34       4.8
NextMethod                 0.22      3.1       0.82      11.5
...
Run Code Online (Sandbox Code Playgroud)

$by.total
                      total.time total.pct self.time self.pct
data.frame                  4.86      68.3      0.48      6.7
rbind …
Run Code Online (Sandbox Code Playgroud)

profiler profiling r

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

重命名导入的静态函数有什么问题?

请考虑以下Scala代码:

    object MainObject {

    def main(args: Array[String]) {

      import Integer.{
        parseInt => atoi
      }

      println(atoi("5")+2);

      println((args map atoi).foldLeft(0)(_ + _));

  }
Run Code Online (Sandbox Code Playgroud)

第一个println正常工作并输出7,但第二个,尝试映射字符串数组对函数atoi不起作用,错误"值atoi不是对象java.lang.Integer的成员"

有什么不同?

import scala

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

如何使用PL/SQL在Oracle中创建具有随机字段数的表?

我需要创建一个带有随机列数的Oracle表来进行负载测试.我只想指定类型为NUMBER的列数,类型为VARCHAR2的列数等,并且应自动生成字段.另外,我将使用随机数据填充表格,我将使用dbms_random.

我怎样才能做到这一点?

oracle random plsql code-generation

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

新关键字在幕后做了什么?

我很好奇new关键字除了改变this范围所指的内容之外还在后台做了什么.

例如,如果我们使用new关键字比较来使对象上的函数集属性和方法只是使函数返回一个新对象,那么新对象有什么额外的作用吗?

如果我不希望从函数构造函数创建多个对象,那么这是首选

var foo2 = function () {
  var temp = "test";

  return {
    getLol: function () {
      return temp;
    },

    setLol: function(value) {
      temp = value;
    }
  };

}();

var foo = new function () {
  var temp = "test";

  this.getLol = function () {
    return temp;
  }

  this.setLol = function(value) {
    temp = value;
  }
}();
Run Code Online (Sandbox Code Playgroud)

firebug探测器告诉我使用new关键字稍微快一点(2ms而不是3ms),对大型对象来说新的仍然明显更快?

[编辑]

另一个问题是真正大的对象构造函数在函数的底部有一个返回(它将具有大量的本地函数)或者有一些this.bar = ...在函数的顶部更具可读性?什么被认为是一个好的约定?

var MAIN = newfunction() {
    this.bar = ...

    // Lots …
Run Code Online (Sandbox Code Playgroud)

javascript oop prototype object new-operator

15
推荐指数
2
解决办法
3677
查看次数