为了掌握MVVM的概念,我已经阅读了几个博客并查看了一些项目.
根据我的理解,一个视图是愚蠢的,它只知道如何呈现传递给它的东西.
模型只是普通数据,而ViewModel就像两者之间的填充,它应该从模型中获取信息并将其传递给View,View应该知道如何呈现它.或者反过来说,如果视图中的信息发生变化,它应该将更改传递给模型.
但我仍然不知道如何应用这个概念.有人可以解释一个非常简单的场景,以便我能掌握这个概念吗?我已经看过几个项目,但它仍然没有完全合理,所以如果有人能用简单的英语写出来,那就太好了.
试图使用Expander,似乎我需要添加System.windows.controls.toolkit作为参考.但是,我无法找到Microsoft SDK文件夹中的任何位置,它被认为是?
我安装了Visual Studio 2010和Silverlight 4.0 SDK.
我正在运行加热来生成一个wxs文件.代码如下.
我想将dir.prompts中的所有文件添加到安装程序中的wxs文件中.我将其添加为自动构建过程的一部分(因此我无法在生成后修改wxs文件).
生成wxs文件,它看起来如下所示.Hoewever,然后Light抱怨它无法找到SourceDir\Valid.wav的位置.所以我想我的问题是,SourceDir是我正在读取文件的目录,还是我不知道的一些魔术目录?非常感谢.
<Fragment>
<ComponentGroup Id="COMPONENTS">
<Component Id="dmp120F8C2794******" Directory="dir31A7EE61C56025FE2564A81E28E8C132" Guid="{6D40EBC0-***-***-B972-**********}">
<File Id="fil919100C2******D045EC131" KeyPath="yes" Source="SourceDir\Valid.wav" />
</Component>
<exec program ="${dir.wix}\heat.exe">
<arg value = "dir"/>
<arg line = "${dir.prompts}"/>
<arg value= "-gg"/>
<arg line="-cg "COMPONENTS""/>
<arg line = "-out "${dir.thisinstaller}\\COMPONENTS.wxs""/>
</exec>
Run Code Online (Sandbox Code Playgroud) 我试图使用Nant替换wxs文件中字符串的出现.
我只找到了以下使用的示例, <replaceString>但似乎它只能在复制的文件中使用.有没有其他方法来替换字符串,而不实际复制文件?
<property name="NOW" value="${datetime::now()}" />
<copy todir="out">
<fileset basedir="in">
<include name="**/*" />
</fileset>
<filterchain>
<replacetokens>
<token key="NOW" value="${TODAY}" />
</replacetokens>
<tabstospaces />
</filterchain>
</copy>
Run Code Online (Sandbox Code Playgroud) 如何传入另一个文件中定义的WiX变量(不再重新定义)?
似乎定义变量的标准方法是:
<?define Var1= "****" ?>
Run Code Online (Sandbox Code Playgroud) 我试图在Silverlight中使用我的Web配置文件.
我在web.config中添加了以下内容:
<configuration>
<appSettings>
<add key="FileHeader" value="file://***.com/Builds/"/>
<add key="WebHeader" value="http://***.com/dev/builds"/>
</appSettings>
Run Code Online (Sandbox Code Playgroud)
我想尝试使用它们
string temp= System.Configuration!System.Configuration.ConfigurationManager.AppSettings.Get("FileHeader");
Run Code Online (Sandbox Code Playgroud)
但是它不起作用,它给出了一个错误"只有赋值,调用,递增,递减......才能用作语句"
我想要一个事件处理程序,当移动网格分割器时处理事件,我不确定是否有一个,如果没有,我想我可以在行的大小改变时生成一个事件?
谢谢.
我知道如何为按钮创建一个左键单击上下文菜单,但我不太确定如何进行右键单击?(即如何指定上下文菜单应出现在右键单击而不是左键单击).
非常感谢.
这可能是一个愚蠢的问题,但通过声明这是什么意思:
public class A: B{
}
Run Code Online (Sandbox Code Playgroud)
我理解继承,我只是习惯了C#语法
我只想要对某个数据成员进行反序列化,而不对其进行序列化.
我知道我可以设置EmitDefaultValue = false,并将值设置为null.
但我也不想改变数据库的值,有没有其他方法可以实现这一点?
序列化程序是DataContractSerializer.:)
谢谢.
c# ×3
silverlight ×2
wix ×2
wpf ×2
button ×1
contextmenu ×1
heat ×1
mvvm ×1
nant ×1
web-config ×1