var amountButtonString = enterAmountButton.Content as string;
var enterTipButtonString = enterTipButton.Content as string;
if (String.IsNullOrEmpty(amountButtonString))
MessageBox.Show("Please enter the total bill amount.");
else if (String.IsNullOrEmpty(enterTipButtonString))
MessageBox.Show("Please enter the tip % amount.");
が働くだろう。しかし、どのように文字列を取得する予定ですか?ボタンの隣にあるTextBoxの値が正しいと思われますか?その場合の
:amountTextBox
& tipTextBox
があなたのTextBoxes
のx:Name
ある
if (String.IsNullOrEmpty(amountTextBox.Text))
MessageBox.Show("Please enter the total bill amount.");
else if (String.IsNullOrEmpty(tipTextBox.Text))
MessageBox.Show("Please enter the tip % amount.");
。
最後のもの:
おそらくこれを処理するより良い方法があります。たとえば、テキストボックスにkeyUpイベント& TextChangedイベントを処理し、テキストのみが存在する場合、ボタンを有効にした場合(、より良い有効なテキストを;))
あなたも、コンバータを使用することができます。
public class StringToEnabledConverter : IValueConverter
{
#region IValueConverter Members
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
var val = value as string;
if (val == null)
throw new ArgumentException("value must be a string.");
return !string.IsNullOrEmpty(val);
}
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
throw new NotImplementedException();
}
#endregion
}
追加しますあなたのコンバータへの参照<Converters:StringToEnabledConverter x:Key="StringToEnabledConverter" />
と、ボタンに、
<TextBox x:Name="amountTextBox />
<Button x:Name="enterAmountButton" Enabled="{Binding ElementName=amountTextBox, Path=Text, Converter={StaticResource StringToEnabledConverter}}" />
投稿する前にデバッグしてみてください。コンテンツの種類がわかり、文字列に適切にキャストできると思います。 –