小编Mag*_*agB的帖子

C#6如何使用插值字符串格式化双?

我使用了C#6的一些新功能.用于简单用法的插值字符串(显示包含字符串变量的消息,如$"{EmployeeName},{Department}").

现在我想使用插值字符串来显示格式化的double值.

var aNumberAsString = aDoubleValue.ToString("0.####");
Run Code Online (Sandbox Code Playgroud)

如何将其写为插值字符串?像$"{aDoubleValue} ...."

c# double string-interpolation c#-6.0

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

如何使用自己的RGB值来更改Winform Button ForeColor?

如何以编程方式(而不是设计师)使用我自己的RGB值(例如:131; 160; 21)更改按钮的ForeColor?Button-control中的属性R,G和B只是"get"属性而不是"set".

我想在更改"Enabled"属性时更改它,并且我还为EnabledChanged事件实现了事件处理程序.

先感谢您.

visual-studio-2010 winforms c#-4.0

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

MVC3 Razor:从视图中调用javascript函数

我是MVC3 Razor的新手,想要在视图上显示运行时间(index.cshtml).我使用javascript函数并将其放在_Layout.cshtml中,以便所有其他"主页"视图都可以使用它(请参阅下面的代码段)

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <title>
        @ViewBag.Title
    </title>
    <link href="@Url.Content("~/Content/Site.css")" rel="stylesheet" type="text/css" />
    <script src="@Url.Content("~/Scripts/jquery-1.5.1.min.js")" type="text/javascript"></script>
    <script src="@Url.Content("~/Scripts/modernizr-1.7.min.js")" type="text/javascript"></script>
</head>
<script type="text/javascript">
    var uhr = new Date();
    var minuten;
    var stunden;
    var sekunden;
    var interval = 500;

    function datum(id) {
        uhr.setTime(uhr.getTime() + interval);
        window.setTimeout(function () { datum(id) }, interval);
        minuten = uhr.getMinutes();
        stunden = uhr.getHours();
        sekunden = uhr.getSeconds();
        if (minuten < 10) { minuten = '0' + minuten; }
        if (sekunden < 10) { sekunden = …
Run Code Online (Sandbox Code Playgroud)

javascript razor asp.net-mvc-3

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

MVC3 Razor: how to check if model is empty

I have tried using !Model.Any() it doesn't work, since model has no extension Any. How to solve? Here is my code snippet.

    @model MyModel.Work
    @if ( !Model.Any() )
    {
       <script type="text/javascript">
             alert("Model empty");
       </script>
    }
    else
    {
       <script type="text/javascript">
              alert("Model exists");
       </script>
    }
Run Code Online (Sandbox Code Playgroud)

razor asp.net-mvc-3

9
推荐指数
4
解决办法
8万
查看次数

WPF + Caliburn Micro:如何捕获Window Close事件?

我是Caliburn Micro的新手,并从这个helloworld示例中学习它.在该示例中,只有2个类型为Application和UserControl的视图(.xaml)和1个视图模型.

我避免使用代码.因此我只有查看和查看模型.我想知道如何捕获我的helloworld应用程序的窗口关闭事件,以便我可以在视图模型中处理它.我的目标:当用户通过按右上角的[x]按钮关闭应用程序时,应用程序会向用户提供反馈.
我已阅读有关IViewAware和IScreen的内容,但我没有找到与我的问题相关的具体示例.

我们非常感谢视图和视图模型的简单示例代码.提前致谢.

PS.我用的是VS2013,C#.

c# wpf caliburn.micro

9
推荐指数
2
解决办法
7086
查看次数

哪种数值类型转换更适合简单的数学运算?

我想知道哪种转换对于简单的数学运算更好(关于性能/速度和精度/最少损失)以及它们的不同之处是什么?

例:

double double1 = integer1 / (5 * integer2);
var double2 = integer1 / (5.0 * integer2);
var double3 = integer1 / (5D * integer2);
var double4 = (double) integer1 / (5 * integer2);
var double5 = integer1 / (double) (5 * integer2);
var double6 = integer1 / ((double) 5 * integer2);
var double7 = integer1 / (5 * (double) integer2);
var double8 = Convert.ToDouble(integer1 / (5 * integer2));
var double9 = integer1 / Convert.ToDouble(5 * integer2);
Run Code Online (Sandbox Code Playgroud)

实际上我的问题是关于转换而不是类型本身.

c# precision numeric type-conversion

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

WPF MVVM-Light如何在ViewModel中使用传递的DragEventArgs

我在这里阅读了许多有关WPF MVVM Light的问题和答案,但是答案仅显示了一侧(XAML代码如下),根本没有ViewModel代码。

<i:Interaction.Triggers>
<i:EventTrigger EventName="Drop">
    <cmd:EventToCommand Command="{Binding Mode=OneWay, Path=DropCommand}"
                        PassEventArgsToCommand="True" />
</i:EventTrigger>
Run Code Online (Sandbox Code Playgroud)

我在XAML网格控件中使用,我想将Windows资源管理器中的拖放文件应用于我的(wpf)应用程序。我严格使用MVVM模式(完全避免使用代码)。JFYI,通常在代码后面,Drop-Event的事件处理程序具有2个参数:object类型的sender和DragEventArgs类型的e。我只需要EventArgs。我的问题不是关于如何将DragEventArgs从XAML直接传递给ViewModel,而是关于如何在ViewModel中获取和使用DragEventArgs(C#代码)。在ViewModel中,我这样编写Command:

public RelayCommand<DragEventArgs> DropCommand
{
    get
    {
        return _dropCommand ?? (_dropCommand = new RelayCommand<DragEventArgs>(Drop);
    }
}
private void Drop()
{
   // do something here
}
Run Code Online (Sandbox Code Playgroud)

我想我的DropCommand中缺少某些内容,因此可以使用e(DragEventArgs的类型)。先感谢您。

wpf event-handling mvvm-light

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

使用linq和lambda表达式简化传统的foreach嵌套循环

(参见下面的代码片段)我想找到与coll2的项目匹配的coll1的所有项目(coll2的项目数<= coll1的项目数),并将查询结果放在coll3中.如何使用linq和lambda表达式实现它?当然,我可以简单地将coll2复制到coll3 :-)但这不是我的目标.我想知道使用linq和lambda来代替这种传统逻辑结构的方法.先感谢您.

        var coll1 = new List<int>() { 1, 2, 3, 4, 5 };
        var coll2 = new List<int>() { 2, 4 };
        var coll3 = new List<int>();
        foreach ( var selected in coll2 )
        {
            foreach ( var item in coll1 )
            {
                if ( selected == item )
                {
                    coll3.Add(item);
                }
            }
        }
Run Code Online (Sandbox Code Playgroud)

c# linq lambda nested-loops

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

C#WPF:View无法获取属性的更改

我正在学习关于属性绑定的wpf c#.我创建了一个简单的wpf应用程序.我尝试将矩形控件的宽度绑定到后面的代码中的属性"PageWidth".但不知何故它不起作用(视图不会得到属性的更改).我想要实现的目标: - 矩形的宽度在代码后面用100初始化 - 如果点击按钮"width ++",矩形的宽度逐步增加10.我的代码中是否遗漏了一些东西?请建议并随时修改我的代码.提前致谢.

XAML:

<Window x:Class="MyWpfApp.MainWindow"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="MainWindow" Height="350" Width="525">
<Grid>
    <Rectangle
        Fill="#FF6262BD"
        HorizontalAlignment="Left"
        Margin="23,24,0,0"
        Stroke="Black"
        VerticalAlignment="Top"
        Width="{Binding Path=PageWidth}"
        Height="100" />
    <Button
        Content="Width++"
        HorizontalAlignment="Left"
        Margin="35,129,0,0"
        VerticalAlignment="Top"
        Width="75"
        Click="Button_Click" />

</Grid>
Run Code Online (Sandbox Code Playgroud)

xaml.cs:

using System;
using System.Windows;

namespace MyWpfApp
{
    public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();
            PageWidth = 100;
        }

        private Int32 _pageWidth;
        public Int32 PageWidth
        {
            get
            {
                return _pageWidth;
            }
            set
            { 
                if ( _pageWidth != value )
                {
                     _pageWidth …
Run Code Online (Sandbox Code Playgroud)

c# wpf binding properties

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

C#:使用Linq和Lambda获取2个集合之间不匹配的元素

我有两个系列,比较它们并希望得到无与伦比的项目并放入一个新的系列.我不想使用传统方法使用2个foreach循环.如何使用linq和lambda表达式实现它?例如

    int[] collection1 = new int[] { 1, 2, 3, 4, 5 };
    int[] collection2 = new int[] { 2, 3 };
    // Goal: Using Linq and Lambda Expression: the new collection3 should contain 1, 4, 5
Run Code Online (Sandbox Code Playgroud)

编辑:抱歉,我忘记提及:collection2是collection1的子集,因此collection2中的所有元素必须存在于collection1中.

c# linq lambda

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

WPF Caliburn Micro:使用ContentControl动态交换窗口中的UserControl

此问题与动态添加用户控件到caliburm micro有关.在打开这个新线程之前,我已经阅读过任何其他相关的线程,但我仍然不明白并找不到解决方案.如果你们中的一些人认为这是重复的,请接受我的道歉.

我有一个窗口(MainView)包含2列的"主"网格(又名LayoutRoot).

左栏有2个按钮:"显示视图1"和"显示视图2".

  • 如果用户单击"显示视图1",则应在右列显示"Display1View"(UserControl包含带文本"View 1"的TextBlock),替换当前列.
  • 如果用户单击"显示视图2",则应在右列显示"Display2View"(UserControl包含带有文本"View 2"的TextBlock),替换当前列.

我的示例代码包含以下视图和视图模型:

  • MainView.xaml和MainViewModel.cs
  • Display1View.xaml和Display1ViewModel.cs
  • Display2View.xaml和Display2ViewModel.cs

在我的示例代码中,ContentControl无法识别UserControl.我究竟做错了什么?如何正确绑定ContentControl?请随意修改我的示例代码.先感谢您

MainView.xaml

<Window x:Class="TestCaliMiContentControl.MainView"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="Main View"
    Width="525"
    Height="350">
    <Grid x:Name="LayoutRoot" ShowGridLines="True">
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="30*" />
            <ColumnDefinition Width="100*" />
        </Grid.ColumnDefinitions>
        <StackPanel x:Name="LeftNavPanel" Grid.Column="0">
            <Button x:Name="Display1" Content="Display View 1" />
            <Button x:Name="Display2" Content="Display View 2" />
        </StackPanel>
        <ContentControl x:Name="MainGridContent" Grid.Column="1" />
    </Grid>
</Window>
Run Code Online (Sandbox Code Playgroud)

MainViewModel.cs

public class MainViewModel : PropertyChangedBase
{
    private ContentControl _mainGridContent;
    public ContentControl MainGridContent
    {
        get { return _mainGridContent; }
        set
        {
            _mainGridContent = …
Run Code Online (Sandbox Code Playgroud)

wpf user-controls contentcontrol caliburn.micro

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