小编mko*_*ski的帖子

F# - int类型与类型单位不兼容

功能语言还不是很新,但是我用很多F#维护别人的代码.任何人都可以提供一些洞察力吗?

        let mtvCap = Rendering.MTViewerCapture(mtViewer)
        mtvCap.GetCapture()
        mtvCap.ToWpfImage()
        grid.Children.Add(mtvCap.ImageElement)
Run Code Online (Sandbox Code Playgroud)

MTViewer.ImageViewer的类型为System.Windows.Controls.Image,而grid是System.Windows.Controls.Grid.

同样,错误是:int类型与类型单位不兼容

.net f# unit-type

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

这个LINQ查询太长了吗?

我是LINQ的新手,并且不想过度使用并且难以维护这些代码.

你怎么看,这个LINQ查询太长了?

IList<ListViewItem> data = runAnalysis.PassAnalyses.Cast<PassAnalysis>().
  Select(passAnalysis => passAnalysis.GetValue(PeakStatistics.PeakStatisticsProperty)).
  SelectMany(peakStatistics => peakStatistics.Statistics.
    Where(statisticsBase => statisticsBase.Name == statisticType).
    Select(statisticsBase => new ListViewItem {Content = statisticsBase})).ToList();
Run Code Online (Sandbox Code Playgroud)

c# linq

4
推荐指数
2
解决办法
938
查看次数

如何清理此LINQ查询(SelectMany)?

如何清理此LINQ查询以在sql语法中使用SelectMany,而不是像我一样在最后进行方法链接?

 var runPeakWidths =
     (from ipa in runAnalysis.PassAnalyses
      let peakWidths = BuildPeakWidths(ipa)
      select peakWidths)
      .SelectMany(data => data);
Run Code Online (Sandbox Code Playgroud)

编辑:变成一个紧凑的小方法:

    public void CreateRunStatistics(Func<IPassAnalysis, IEnumerable<double>> buildMethod, string name)
    {
        var data = runAnalysis.PassAnalyses.SelectMany(buildMethod);
        statistics.Add(StatisticsBase.Calc(name, data));
    }
Run Code Online (Sandbox Code Playgroud)

谢谢!

c# linq linq-to-objects

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

如何在XAML中设置此图像源?

目前,我在MainWindow.xaml中有这个:

<Image Name="LogoImage" />
Run Code Online (Sandbox Code Playgroud)

这在MainWindow.xaml.cs中:

public ImageSource LogoImageSource { get; set; }

....

var rm = new ResourceManager("Project.Properties.Resources", GetType().Assembly);

var logoBmp = (Bitmap) rm.GetObject("CompanyLogo");
if (logoBmp != null)
{
    var hBitmap = logoBmp.GetHbitmap();
    ImageSource src =
        Imaging.CreateBitmapSourceFromHBitmap(
            hBitmap,
            IntPtr.Zero,
            Int32Rect.Empty,
            BitmapSizeOptions.FromEmptyOptions());
            LogoImageSource = src;
}

var logoBinding = new Binding("LogoImageSource");
logoBinding.Source = this;
LogoImage.SetBinding(System.Windows.Controls.Image.SourceProperty, logoBinding);
Run Code Online (Sandbox Code Playgroud)

我是这样做的,因为我喜欢将图像保存为嵌入式资源,因此用户安装目录中没有一堆随机文件.

但是如何从XAML而不是C#管理图像绑定(最后3行代码)?

或者,如果有人对如何管理图片资源有任何意见,请与我分享.

c# data-binding wpf xaml image

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

标签 统计

c# ×3

linq ×2

.net ×1

data-binding ×1

f# ×1

image ×1

linq-to-objects ×1

unit-type ×1

wpf ×1

xaml ×1