小编Eig*_*ite的帖子

将对象列表复制到一行代码中的另一个类型列表中

我有一个ListMyType1对象.我想在一个新ListMyType2对象中复制所有这些对象,有一个构造函数MyType2,它将一个MyType1对象作为参数.

现在,我这样做:

List<MyType1> type1objects = new List<MyType1>();
// Fill type1objects
// ...
List<MyType2> type2objects = new List<MyType2>();
foreach (MyType1 type1obj in type1objects) {
    MyType2 type2obj = new MyType2(type1obj);
    type2objects.Add(type2obj);
}
Run Code Online (Sandbox Code Playgroud)

有没有办法做到这一行(我想也许Linq可能)?

c# linq coding-style

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

获取非UI对象以响应WPF命令绑定

我有一个ViewModel类,我想响应从按钮触发的内置刷新命令,但我不知道如何声明CommandTarget.

简而言之,我的代码如下

ViewModel构造函数和CanExecute和Executed事件处理程序 -

    public ViewModel()
    {
        CommandBinding binding = new CommandBinding(NavigationCommands.Refresh, CommandHandler);
        binding.CanExecute += new CanExecuteRoutedEventHandler(binding_CanExecute);
        binding.Executed += new ExecutedRoutedEventHandler(binding_Executed);
        CommandManager.RegisterClassCommandBinding(typeof(ViewModel), binding);
    }
    void binding_Executed(object sender, ExecutedRoutedEventArgs e)
    {
        Debug.Print("Refreshing...");
    }

    void binding_CanExecute(object sender, CanExecuteRoutedEventArgs e)
    {
        e.CanExecute = true;
    }
Run Code Online (Sandbox Code Playgroud)

标记是 -

<Button Command="Refresh">refresh</Button>
Run Code Online (Sandbox Code Playgroud)

现在,我已尝试在此按钮上设置CommandTarget,{Binding Source={StaticResource ViewModel}}但我得到运行时说Cannot convert the value in attribute 'CommandTarget' to object of type 'System.Windows.IInputElement'.

我是命令的新手,所以我完全可能在这里犯了各种各样的错误.任何帮助,将不胜感激.

wpf command

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

创建具有常量值的F#记录类型

假设我有一个如此定义的记录......

type Employee = {Name : string; Salary : int}
Run Code Online (Sandbox Code Playgroud)

我想要另一种Salary固定的类型.我想能说...

type Manager = {Name: string; Salary : int = 250000}
Run Code Online (Sandbox Code Playgroud)

......但似乎我做不到.

我有什么选择来获得这种行为?

inheritance f# recordtype

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

F#Charting - 当列数超过9列时,柱形图不会标记所有列名称

我正在尝试使用FSharp.Charting柱形图绘制一些类别/计数数据,除非列数达到10或更多,否则一切都按预期工作.

来自http://fslab.org/FSharp.Charting/BarAndColumnCharts.html.

        let data = 
            [ "Africa", 1033043; 
              "Asia", 4166741; 
              "Europe", 732759; 
              "South America", 588649; 
              "North America", 351659; 
              "Oceania", 35838]
        let chart = Chart.Column data
        chart.ShowChart()
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

所以要清楚,上面的代码很好,但如果我添加4个以上的区域,我没有得到所有的标签....

        let data = 
            [ "Africa", 1033043; 
              "Asia", 4166741; 
              "Europe", 732759; 
              "South America", 588649; 
              "North America", 351659; 
              "Oceania", 35838;
              "Africa2", 1033043; 
              "Asia2", 4166741; 
              "Europe2", 732759;
              "South America2", 456789 
              ]
        let chart = Chart.Column data
        chart.ShowChart()
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

有谁知道如何让所有列名出现?我无法在文档中看到任何有用的内容.

f# fsharpchart

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

WPF - 令人困惑的 DataTrigger/DoubleAnimation 行为

我正在尝试根据我班级上布尔值的绑定来为 a的ScaleY属性设置动画。当值第一次被(应用程序首次启动时)视为 false时,当我第一次在复选框的选中事件中将其更改为 true时,动画发生,但当我在同一个复选框的未选中事件中将其设置为 false 时,不会发生动画。LayoutTransformDataTriggerViewModelDataTrigger

下面列出了我正在做的事情的简化版本。

ViewModel 类非常简单,包含一个DependencyProperty名为 Selected 的布尔值。

    public class VM : DependencyObject
{
    public bool Selected
    {
        get { return (bool)GetValue(SelectedProperty); }
        set { SetValue(SelectedProperty, value); }
    }

    // Using a DependencyProperty as the backing store for Selected.  This enables animation, styling, binding, etc...
    public static readonly DependencyProperty SelectedProperty =
        DependencyProperty.Register("Selected", typeof(bool), typeof(VM), new UIPropertyMetadata(false));
}
Run Code Online (Sandbox Code Playgroud)

Window.xaml包含一个按钮和一个复选框。当复选框被选中时,当它被取消选中时,我将 ViewModel 的“Selected”属性设置为 true 和 false。这是 xaml 和代码隐藏的代码。

<Window x:Class="DataTriggers.Window1" …
Run Code Online (Sandbox Code Playgroud)

wpf datatrigger layouttransform

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