我使用了C#6的一些新功能.用于简单用法的插值字符串(显示包含字符串变量的消息,如$"{EmployeeName},{Department}").
现在我想使用插值字符串来显示格式化的double值.
例
var aNumberAsString = aDoubleValue.ToString("0.####");
Run Code Online (Sandbox Code Playgroud)
如何将其写为插值字符串?像$"{aDoubleValue} ...."
如何以编程方式(而不是设计师)使用我自己的RGB值(例如:131; 160; 21)更改按钮的ForeColor?Button-control中的属性R,G和B只是"get"属性而不是"set".
我想在更改"Enabled"属性时更改它,并且我还为EnabledChanged事件实现了事件处理程序.
先感谢您.
我是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) 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)
我是Caliburn Micro的新手,并从这个helloworld示例中学习它.在该示例中,只有2个类型为Application和UserControl的视图(.xaml)和1个视图模型.
我避免使用代码.因此我只有查看和查看模型.我想知道如何捕获我的helloworld应用程序的窗口关闭事件,以便我可以在视图模型中处理它.我的目标:当用户通过按右上角的[x]按钮关闭应用程序时,应用程序会向用户提供反馈.
我已阅读有关IViewAware和IScreen的内容,但我没有找到与我的问题相关的具体示例.
我们非常感谢视图和视图模型的简单示例代码.提前致谢.
PS.我用的是VS2013,C#.
我想知道哪种转换对于简单的数学运算更好(关于性能/速度和精度/最少损失)以及它们的不同之处是什么?
例:
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)
实际上我的问题是关于转换而不是类型本身.
我在这里阅读了许多有关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的类型)。先感谢您。
(参见下面的代码片段)我想找到与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) 我正在学习关于属性绑定的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) 我有两个系列,比较它们并希望得到无与伦比的项目并放入一个新的系列.我不想使用传统方法使用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中.
此问题与动态添加用户控件到caliburm micro有关.在打开这个新线程之前,我已经阅读过任何其他相关的线程,但我仍然不明白并找不到解决方案.如果你们中的一些人认为这是重复的,请接受我的道歉.
我有一个窗口(MainView)包含2列的"主"网格(又名LayoutRoot).
左栏有2个按钮:"显示视图1"和"显示视图2".
我的示例代码包含以下视图和视图模型:
在我的示例代码中,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) c# ×6
wpf ×4
lambda ×2
linq ×2
razor ×2
binding ×1
c#-4.0 ×1
c#-6.0 ×1
double ×1
javascript ×1
mvvm-light ×1
nested-loops ×1
numeric ×1
precision ×1
properties ×1
winforms ×1