本文整理汇总了C#中GalaSoft.MvvmLight.Test.Controls.UITextViewEx类的典型用法代码示例。如果您正苦于以下问题:C# UITextViewEx类的具体用法?C# UITextViewEx怎么用?C# UITextViewEx使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
UITextViewEx类属于GalaSoft.MvvmLight.Test.Controls命名空间,在下文中一共展示了UITextViewEx类的14个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: BindingConverter_ConvertDateTimeTwoWayToText_NoError
public void BindingConverter_ConvertDateTimeTwoWayToText_NoError()
{
var now = DateTime.Now;
Vm = new TestViewModel
{
Date = now
};
#if ANDROID
Text = new EditText(Application.Context);
#elif __IOS__
Text = new UITextViewEx();
#endif
this.SetBinding(
() => Vm.Date,
() => Text.Text,
BindingMode.TwoWay)
.ConvertSourceToTarget(d => d.Date.ToShortDateString())
.ConvertTargetToSource(d => DateTime.ParseExact(d, "dd/MM/yyyy", CultureInfo.InvariantCulture));
Assert.AreEqual(now, Vm.Date);
Assert.AreEqual(now.ToShortDateString(), Text.Text);
Vm.Date += TimeSpan.FromDays(3);
Assert.AreEqual((now + TimeSpan.FromDays(3)).ToShortDateString(), Text.Text);
var newDateString = "13/04/1971";
var newDate = new DateTime(1971, 4, 13);
Text.Text = newDateString;
Assert.AreEqual(newDateString, Text.Text);
Assert.AreEqual(newDate, Vm.Date);
}
示例2: BindingConverter_ConvertDateTimeToText_NoError
public void BindingConverter_ConvertDateTimeToText_NoError()
{
var now = DateTime.Now;
Vm = new TestViewModel
{
Date = now
};
#if ANDROID
Text = new EditText(Application.Context);
#elif __IOS__
Text = new UITextViewEx();
#endif
this.SetBinding(
() => Vm.Date,
() => Text.Text)
.ConvertSourceToTarget(d => d.Date.ToShortDateString());
Assert.AreEqual(now, Vm.Date);
Assert.AreEqual(now.ToShortDateString(), Text.Text);
Vm.Date += TimeSpan.FromDays(3);
Assert.AreEqual((now + TimeSpan.FromDays(3)).ToShortDateString(), Text.Text);
}
示例3: Binding_OneWayFromCheckBoxToEditTextWithUpdateTrigger_BindingGetsUpdated
public void Binding_OneWayFromCheckBoxToEditTextWithUpdateTrigger_BindingGetsUpdated()
{
var control1 = new UITextViewEx();
var control2 = new UISwitchEx();
var binding = new Binding<bool, string>(
control2,
() => control2.On,
control1,
() => control1.Text);
Assert.AreEqual("False", control1.Text);
Assert.IsFalse(control2.On);
control2.On = true;
Assert.AreEqual("True", control1.Text);
Assert.IsTrue(control2.On);
}
示例4: Binding_OneWayFromEditTextToCheckBoxWithUpdateTrigger_BindingGetsUpdated
public void Binding_OneWayFromEditTextToCheckBoxWithUpdateTrigger_BindingGetsUpdated()
{
var control1 = new UITextViewEx();
var control2 = new UISwitchEx();
var binding = new Binding<string, bool>(
control1,
() => control1.Text,
control2,
() => control2.On);
Assert.AreEqual(string.Empty, control1.Text);
Assert.IsFalse(control2.On);
var value = "True";
control1.Text = value;
Assert.AreEqual(value, control1.Text);
Assert.IsTrue(control2.On);
}
示例5: Binding_TwoWayFromViewModelToEditTextWithUpdateTrigger_BindingGetsUpdated
public void Binding_TwoWayFromViewModelToEditTextWithUpdateTrigger_BindingGetsUpdated()
{
var vm = new TestViewModel
{
Model = new TestModel()
};
var control1 = new UITextViewEx();
_binding = new Binding<string, string>(
vm,
() => vm.Model.MyProperty,
control1,
() => control1.Text,
BindingMode.TwoWay)
.ObserveTargetEvent("Changed");
Assert.AreEqual(null, vm.Model.MyProperty);
Assert.AreEqual(string.Empty, control1.Text);
var value = DateTime.Now.Ticks.ToString();
vm.Model.MyProperty = value;
Assert.AreEqual(value, vm.Model.MyProperty);
Assert.AreEqual(vm.Model.MyProperty, control1.Text);
value += "Suffix";
control1.Text = value;
Assert.AreEqual(value, control1.Text);
Assert.AreEqual(control1.Text, vm.Model.MyProperty);
}
示例6: Binding_TwoWayFromEditTextToEditTextWithUpdateTrigger_BindingGetsUpdated
public void Binding_TwoWayFromEditTextToEditTextWithUpdateTrigger_BindingGetsUpdated()
{
var control1 = new UITextViewEx();
var control2 = new UITextViewEx();
_binding = new Binding<string, string>(
control1,
() => control1.Text,
control2,
() => control2.Text,
BindingMode.TwoWay)
.ObserveSourceEvent("Changed")
.ObserveTargetEvent("Changed");
Assert.AreEqual(string.Empty, control1.Text);
Assert.AreEqual(control1.Text, control2.Text);
var value = DateTime.Now.Ticks.ToString();
control1.Text = value;
Assert.AreEqual(value, control1.Text);
Assert.AreEqual(control1.Text, control2.Text);
value += "Suffix";
control2.Text = value;
Assert.AreEqual(value, control2.Text);
Assert.AreEqual(control2.Text, control1.Text);
}
示例7: Binding_TwoWayFromEditTextToCheckBoxWithUpdateTrigger_BindingGetsUpdated
public void Binding_TwoWayFromEditTextToCheckBoxWithUpdateTrigger_BindingGetsUpdated()
{
var control1 = new UITextViewEx();
var control2 = new UISwitchEx();
_binding = new Binding<string, bool>(
control1,
() => control1.Text,
control2,
() => control2.On,
BindingMode.TwoWay)
.ObserveSourceEvent("Changed")
.ObserveTargetEvent("ValueChanged");
Assert.AreEqual(string.Empty, control1.Text);
Assert.IsFalse(control2.On);
var value = "True";
control1.Text = value;
Assert.AreEqual(value, control1.Text);
Assert.IsTrue(control2.On);
control2.On = false;
Assert.IsFalse(control2.On);
Assert.AreEqual("False", control1.Text);
}
示例8: Binding_OneWayFromViewModelToEditText_BindingGetsUpdated
public void Binding_OneWayFromViewModelToEditText_BindingGetsUpdated()
{
var vm = new TestViewModel
{
Model = new TestModel()
};
var control1 = new UITextViewEx();
_binding = new Binding<string, string>(
vm,
() => vm.Model.MyProperty,
control1,
() => control1.Text);
Assert.AreEqual(null, vm.Model.MyProperty);
Assert.AreEqual(string.Empty, control1.Text);
var value = DateTime.Now.Ticks.ToString();
vm.Model.MyProperty = value;
Assert.AreEqual(value, vm.Model.MyProperty);
Assert.AreEqual(vm.Model.MyProperty, control1.Text);
}
示例9: Binding_OneWayFromEditTextToViewModelWithUpdateTrigger_BindingGetsUpdated
public void Binding_OneWayFromEditTextToViewModelWithUpdateTrigger_BindingGetsUpdated()
{
var vm = new TestViewModel
{
Model = new TestModel()
};
var control1 = new UITextViewEx();
_binding = new Binding<string, string>(
control1,
() => control1.Text,
vm,
() => vm.Model.MyProperty)
.ObserveSourceEvent("Changed");
Assert.AreEqual(string.Empty, control1.Text);
Assert.AreEqual(control1.Text, vm.Model.MyProperty);
var value = DateTime.Now.Ticks.ToString();
control1.Text = value;
Assert.AreEqual(value, control1.Text);
Assert.AreEqual(control1.Text, vm.Model.MyProperty);
}
示例10: Binding_OneWayFromEditTextToEditTextWithUpdateTrigger_BindingGetsUpdated
public void Binding_OneWayFromEditTextToEditTextWithUpdateTrigger_BindingGetsUpdated()
{
var control1 = new UITextViewEx();
var control2 = new UITextViewEx();
var binding = new Binding<string, string>(
control1,
() => control1.Text,
control2,
() => control2.Text)
.UpdateSourceTrigger(UpdateTriggerMode.PropertyChanged);
Assert.AreEqual(string.Empty, control1.Text);
Assert.AreEqual(control1.Text, control2.Text);
var value = DateTime.Now.Ticks.ToString();
control1.Text = value;
Assert.AreEqual(value, control1.Text);
Assert.AreEqual(control1.Text, control2.Text);
}
示例11: Binding_TwoWayFromEditTextToViewModelWithUpdateTrigger_BindingGetsUpdated
public void Binding_TwoWayFromEditTextToViewModelWithUpdateTrigger_BindingGetsUpdated()
{
var vm = new TestViewModel
{
Model = new TestModel()
};
var control1 = new UITextViewEx();
var binding = new Binding<string, string>(
control1,
() => control1.Text,
vm,
() => vm.Model.MyProperty,
BindingMode.TwoWay)
.UpdateSourceTrigger(UpdateTriggerMode.PropertyChanged);
Assert.AreEqual(string.Empty, control1.Text);
Assert.AreEqual(control1.Text, vm.Model.MyProperty);
var value = DateTime.Now.Ticks.ToString();
control1.Text = value;
Assert.AreEqual(value, control1.Text);
Assert.AreEqual(control1.Text, vm.Model.MyProperty);
value += "Suffix";
vm.Model.MyProperty = value;
Assert.AreEqual(value, vm.Model.MyProperty);
Assert.AreEqual(vm.Model.MyProperty, control1.Text);
}
示例12: Binding_TwoWayFromCheckBoxToEditTextWithUpdateTrigger_BindingGetsUpdated
public void Binding_TwoWayFromCheckBoxToEditTextWithUpdateTrigger_BindingGetsUpdated()
{
var control1 = new UITextViewEx();
var control2 = new UISwitchEx();
var binding = new Binding<bool, string>(
control2,
() => control2.On,
control1,
() => control1.Text,
BindingMode.TwoWay)
.UpdateSourceTrigger(UpdateTriggerMode.PropertyChanged)
.UpdateTargetTrigger(UpdateTriggerMode.PropertyChanged);
Assert.AreEqual("False", control1.Text);
Assert.IsFalse(control2.On);
control2.On = true;
Assert.AreEqual("True", control1.Text);
Assert.IsTrue(control2.On);
var value = "False";
control1.Text = value;
Assert.AreEqual(value, control1.Text);
Assert.IsFalse(control2.On);
}
示例13: Binding_SetBindingWithPrivateField_ShouldCreateBinding
public void Binding_SetBindingWithPrivateField_ShouldCreateBinding()
{
// Just for comparison
var vm = new TestViewModel
{
Model = new TestModel
{
MyProperty = "Initial value for local var"
}
};
#if ANDROID
var textBox = new EditText(Application.Context);
#elif __IOS__
var textBox = new UITextViewEx();
#endif
_binding = new Binding<string, string>(
vm,
() => vm.Model.MyProperty,
textBox,
() => textBox.Text);
Assert.IsNotNull(_binding);
Assert.AreEqual(textBox.Text, vm.Model.MyProperty);
vm.Model.MyProperty = "New value";
Assert.AreEqual(textBox.Text, vm.Model.MyProperty);
_vmField = new TestViewModel
{
Model = new TestModel
{
MyProperty = "Initial value for field"
}
};
_binding = new Binding<string, string>(
_vmField,
() => _vmField.Model.MyProperty,
textBox,
() => textBox.Text);
Assert.IsNotNull(_binding);
Assert.AreEqual(textBox.Text, _vmField.Model.MyProperty);
_vmField.Model.MyProperty = "New value";
Assert.AreEqual(textBox.Text, _vmField.Model.MyProperty);
VmSource = new TestViewModel
{
Model = new TestModel
{
MyProperty = "Initial value for public property"
}
};
#if ANDROID
TextBox = new EditText(Application.Context);
#elif __IOS__
TextBox = new UITextViewEx();
#endif
_binding = this.SetBinding(
() => VmSource.Model.MyProperty,
() => TextBox.Text);
Assert.IsNotNull(_binding);
Assert.AreEqual(textBox.Text, _vmField.Model.MyProperty);
_vmField.Model.MyProperty = "New value";
Assert.AreEqual(textBox.Text, _vmField.Model.MyProperty);
_vmField.Model.MyProperty = "Initial value for field again";
_binding = this.SetBinding(
() => _vmField.Model.MyProperty,
() => TextBox.Text);
Assert.IsNotNull(_binding);
Assert.AreEqual(textBox.Text, _vmField.Model.MyProperty);
_vmField.Model.MyProperty = "New value";
Assert.AreEqual(textBox.Text, _vmField.Model.MyProperty);
}
示例14: BindingConverter_ConvertBackFromMinDate_NoError
public void BindingConverter_ConvertBackFromMinDate_NoError()
{
Vm = new TestViewModel();
#if ANDROID
Text = new EditText(Application.Context);
#elif __IOS__
Text = new UITextViewEx();
#endif
this.SetBinding(
() => Vm.Date,
() => Text.Text,
BindingMode.TwoWay)
.ConvertSourceToTarget(d => d.Date.ToShortDateString())
.ConvertTargetToSource(d => DateTime.ParseExact(d, "dd/MM/yyyy", CultureInfo.InvariantCulture));
Assert.AreEqual(DateTime.MinValue, Vm.Date);
Assert.AreEqual(DateTime.MinValue.ToShortDateString(), Text.Text);
var newDateString = "01/01/000"; // Invalid date string
Text.Text = newDateString;
Assert.AreEqual(newDateString, Text.Text);
Assert.AreEqual(DateTime.MinValue, Vm.Date);
newDateString = "01/01/0002"; // Valid date string
Text.Text = newDateString;
Assert.AreEqual(newDateString, Text.Text);
Assert.AreEqual(new DateTime(2, 1, 1), Vm.Date);
}