Caliburn.Microを使用しています。
私のビューには、ViewModelのXの値を変更TextBox
するBindedtodouble X
とaがあります。Button
public void ButtonPressed()
{
X = AnObject.GetDouble;
NotifyOfPropertyChange(() => X);
}
public double X { get; set; }
私の目標は、表示される小数点以下の桁数を制限することです。この番号は、アプリケーションで構成可能であるため、AnObjectのプロパティとして使用できます。したがって、私はIMultiValueConverter
:を定義しました
public object Convert(object[] values, Type targetType, object parameter, CultureInfo culture)
{
return String.Format(values[1].ToString(), values[0]);
}
そして私のTextBoxを次のように定義しました:
<TextBox>
<TextBox.Text>
<MultiBinding Converter="{StaticResource coordinateConverter}" >
<Binding Path="X" />
<Binding Path="AnObject.FormatNumberOfDecimals" />
</MultiBinding>
</TextBox.Text>
</TextBox>
機能: Xの初期値であるゼロは正しくフォーマットされています。
動作しないもの:ボタンが押されたときに、新しい値がテキストボックスに表示されていません。
IMultiValueConverterを使用しない提案も歓迎します。