本文整理汇总了C#中Behavior.SubscribeWithInitialFire方法的典型用法代码示例。如果您正苦于以下问题:C# Behavior.SubscribeWithInitialFire方法的具体用法?C# Behavior.SubscribeWithInitialFire怎么用?C# Behavior.SubscribeWithInitialFire使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Behavior
的用法示例。
在下文中一共展示了Behavior.SubscribeWithInitialFire方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Form1
public Form1()
{
InitializeComponent();
startBtn.Click += (o, s) => runningEvent.Fire(true);
stopBtn.Click += (o, s) =>
{
degreesSignal.Stop();
runningEvent.Fire(false);
};
frequency.ValueChanged += (o, s) => intervalChanged.Fire(frequency.Value);
degreesSignal = new Signal<double>(new AutoDouble(0.0, 0.001), Frequency.Hz(0.0), this.CreateDispatcher());
degreesSignal.Subscribe(SetDegValue);
signalTickCount = degreesSignal.Snapshot(new AutoLong());
signalTickCount.Subscribe(SetTickCount);
radiansSignal = degreesSignal.Map(d => d * RadsPerDeg);
radiansSignal.Subscribe(SetRadValue);
sineSignal = radiansSignal.Map(Math.Sin);
sineSignal.Subscribe(SetSinValue);
cosineSignal = radiansSignal.Map(Math.Cos);
cosineSignal.Subscribe(SetCosValue);
runningEvent = new FirableEvent<bool>();
runningEvent.Subscribe(r => { degreesSignal.Running = r; });
runningBehavior = runningEvent.Hold(false);
runningBehavior.SubscribeWithInitialFire(EnableControls);
intervalChanged = new FirableEvent<decimal>();
intervalBehavior = intervalChanged.Hold(frequency.Value);
intervalBehavior.Map(Frequency.Hz).SubscribeWithInitialFire(FrequencyChanged);
}
示例2: InitializeMouseHandler
private void InitializeMouseHandler()
{
mouseButtonEvent = new FirableEvent<MouseStatus>();
mouseMoveEvent = new FirableEvent<MouseEventArgs>();
mouseButtonBehavior = mouseButtonEvent.Hold(MouseStatus.Up);
this.mouseButtonDown = new EqualityPredicate<MouseStatus>(mouseButtonBehavior, MouseStatus.Down);
mouseDragEvent = mouseMoveEvent.Gate(this.mouseButtonDown);
mouseButtonBehavior.SubscribeWithInitialFire(a =>
{
status.Text = string.Format("{0} {1}", a, DateTime.Now);
});
mouseDragEvent.Map(e => new Tuple<string, string>(e.X.ToString(), e.Y.ToString())).Subscribe(t =>
{
x.Text = t.Item1;
y.Text = t.Item2;
});
MouseMove += (s, e) => mouseMoveEvent.Fire(e);
MouseDown += (s, e) => mouseButtonEvent.Fire(MouseStatus.Down);
MouseUp += (s, e) => mouseButtonEvent.Fire(MouseStatus.Up);
}