我有这个javascript对象
var options:
{
windowTitle : '....',
windowContentUrl : '....',
windowHeight : 380,
windowWidth : 480
}
Run Code Online (Sandbox Code Playgroud)
我有这个C#类
public class JsonDialogViewModel
{
public string WindowTitle { get; set; }
public string WindowContentUrl { get; set; }
public double WindowHeight { get; set; }
public double WindowWidth { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
你看,我的符号是C#中的PascalCase,而我的Javascript是CamelCase.通常的惯例.
我正在使用JavaScriptSerializer().Serialize来序列化我的C#对象并在我的Javascript代码中使用它.
然而,我面临的问题是PascalCase到CamelCase,JavaScriptSerializer().Serialize无法处理.
您有什么建议来解决这个翻译?
谢谢
我在表单,delete
按钮和confirm delete
复选框上有两个简单的相关控件.
这个想法是为了防止意外删除(不用担心,稍后会添加撤消),但如果他们愿意,仍然允许用户删除而不需要烦人的确认.
但是,我希望设置复选框的初始状态.XAML代码目前是:
<CheckBox Margin="0 5 0 0"
x:Name="chkConfirmDel"
Checked="chkConfirmDel_Change">
Confirm delete?
</CheckBox>
Run Code Online (Sandbox Code Playgroud)
但我无法在XAML或Window_Loaded()
代码中看到强制初始状态的任何明显属性.
我在c ++中有这样的功能:
// C++
bool Foo(int* retVal = NULL)
{
// ...
if (retVal != NULL)
*retVal = 5;
// ...
return true;
}
Run Code Online (Sandbox Code Playgroud)
我可以通过两种方式使用函数:
int ret;
Foo(&ret);
Foo();
Run Code Online (Sandbox Code Playgroud)
当我用C#编写代码时,我使用了ref关键字:
// C#
bool Foo(ref int retVal = null)
{
// ...
if (retVal != null)
{
retVal = 5;
}
// ...
return true;
}
Run Code Online (Sandbox Code Playgroud)
但编译说:
ref或out参数不能具有默认值.
我怎么解决这个问题?
Messenger.Default.Register<OpenWindowMessage>(this, message =>
{
var adventurerWindowVM = SimpleIoc.Default.GetInstance<AdventurerViewModel>();
adventurerWindowVM.Adv = message.Argument;
var adventurerWindow = new AdventurerView()
{
DataContext = adventurerWindowVM
};
adventurerWindow.Show();
});
Run Code Online (Sandbox Code Playgroud)
这段代码很简单; 它只是打开一个新窗口并设置新窗口的DataContext.我遇到的问题是,如果我执行两次,第一个实例的内容将被覆盖并设置为第二个实例的内容,因为adventurerWindowVM
是两个窗口的DataContext,每次调用此代码时都会覆盖它.我正在寻找一种方法来防止这种情况; 我希望能够使用此消息打开多个窗口并使每个窗口都是唯一的,但到目前为止我还没有想出办法.任何建议将不胜感激.我为这个模糊的标题道歉; 我不确定这个问题的名称.(另外,我知道这不是一种方法.这个代码块会被调用什么?)
更新:我正在使用MVVM Light,我的代码基于一个例子,有人在这个答案中提供给我:https://stackoverflow.com/a/16994523/1667020
以下是我的ViewModelLocator.cs中的一些代码
public ViewModelLocator()
{
_main = new MainViewModel();
ServiceLocator.SetLocatorProvider(() => SimpleIoc.Default);
SimpleIoc.Default.Register<GameViewModel>();
SimpleIoc.Default.Register<AdventurerViewModel>();
}
Run Code Online (Sandbox Code Playgroud) 我正在寻找像LINQ这样的方法List.Exists(predicate)
.
bool exists = mylist.Exists(p => p.Name == "Kamila");
bool exists = collection.??????(p => p.Name == "Kamila");
Run Code Online (Sandbox Code Playgroud) c# ×5
wpf ×2
arguments ×1
c++ ×1
camelcasing ×1
checkbox ×1
javascript ×1
linq ×1
mvvm-light ×1
pascalcasing ×1
reference ×1
xaml ×1