我正在编写我的第一个 WPF 应用程序,并尝试在窗体关闭时实现淡入淡出动画。我遇到了这个问题Fading out a wpf window on close,它显示了如何制作淡出动画,但我似乎无法让它工作。我的 XAML 中有这个:
<Window.Resources>
<Storyboard Name="FadeOutStoryboard" x:Key="FadeOutStoryboard" Completed="FadeOutStoryboard_Completed">
<DoubleAnimation Storyboard.TargetProperty="Window.Opacity" From="1" To="0" Duration="0:0:2" FillBehavior="HoldEnd" />
</Storyboard>
</Window.Resources>
Run Code Online (Sandbox Code Playgroud)
然后我有这个事件处理程序:
private bool doneFade;
private void Window_Closing(object sender, System.ComponentModel.CancelEventArgs e)
{
if (!doneFade)
{
e.Cancel = true;
Storyboard sb = (Storyboard)this.FindResource("FadeOutStoryboard");
sb.Begin();
}
}
Run Code Online (Sandbox Code Playgroud)
但是当sb.Begin()调用该方法时,我得到这个异常:
System.InvalidOperationException: No target was specified for 'System.Windows.Media.Animation.DoubleAnimation'.
Run Code Online (Sandbox Code Playgroud)
如前所述,这是我第一次尝试 WPF,因此我对在表单关闭时需要做什么来添加淡出感到相当困惑。
你如何从一个参数创建一个字符串到sweet.js宏?例如:
let foo = macro {
rule {
$name
} => {
console.log('$name', $name);
}
}
var x = 42;
foo x
Run Code Online (Sandbox Code Playgroud)
将输出:
console.log(x, x);
Run Code Online (Sandbox Code Playgroud)
当我更喜欢它输出时:
console.log('x', x);
Run Code Online (Sandbox Code Playgroud)
所以第一个论点引用了它.
所以我是犀牛嘲笑的新手,我正试图让它进入我正在进行的MVP模式项目.所以我有一个代表我的View的界面和一个我的Presenter的类,如下所示:
public interface IView {
string SomeData { get; set; }
}
public class Presenter {
public IView View { get; set; }
public void Init(IView view) {
this.View = view;
}
public virtual string DoStuff(){
return "Done stuff with " + this.View.SomeData;
}
}
Run Code Online (Sandbox Code Playgroud)
我正在尝试设置一个模拟DoStuff方法的测试,所以我有一个像这样的基本夹具:
[TestMethod]
public void Test(){
var mocks = new MockRepository();
var view = mocks.Stub<IView>();
var presenter = mocks.StrictMock<Presenter>();
presenter.Init(view);
using(mocks.Record()){
presenter.Expect(p => p.DoStuff()).Return("Mocked result");
}
string result = string.Empty;
using(mocks.Playback()){
result = presenter.DoStuff(); …Run Code Online (Sandbox Code Playgroud) 我有一系列输入字段,它们都绑定到AngularJS模型上的属性,这些属性都是可编辑的.
某些字段是基于其他用户输入的可选计算字段,可以在此处找到我正在使用的输入类型的样本.
基本上,如果有人进入的价值time和distance它应该自动工作了speed,或者speed和distance将制定出时间,等等.
我正在对文本进行一些字符串替换我从JSON Web服务返回,字符串可能如下所示:
"Hello I am a string.\r\nThis is a second line.\r\n\r\nThis is a bigger space"
Run Code Online (Sandbox Code Playgroud)
我想替换所有\r\n带<br />标签,以便格式化HTML,但是当我这样做时:
var string = result.replace('\r\n','<br />');
Run Code Online (Sandbox Code Playgroud)
我只更换了第一个实例,而不是任何其他实例.
我究竟做错了什么?
.net ×2
angularjs ×1
animation ×1
javascript ×1
rhino-mocks ×1
storyboard ×1
sweet.js ×1
wpf ×1