0
我有一個具有多個字段的窗體。我還有一個「驗證」按鈕,可以執行數據庫輸入。我希望按鈕僅在用戶定義的最小字段爲時才被激活。Complex MultiBinding驗證
到目前爲止,這是因爲所有的領域相當簡單了文字:
<Button x:Name="Manage" Content="Manage">
<Button.IsEnabled>
<MultiBinding Mode="OneWay" Converter="{StaticResource FieldsFilledinToVisible}">
<Binding ElementName="name1" Path="Text"/>
<Binding ElementName="name2" Path="Text"/>
</MultiBinding>
</Button.IsEnabled>
</Button>
轉換器被:
public class AllValuesDefinedConverter : IMultiValueConverter
{
public object Convert(object[] values, Type targetType, object parameter, CultureInfo culture)
{
bool isEnabled = false;
for (int i = 0; i < values.Length; i++)
{
isEnabled = isEnabled || string.IsNullOrEmpty(values[i].ToString());
}
return !isEnabled;
}
public object[] ConvertBack(object value, Type[] targetTypes, object parameter, CultureInfo culture)
{
return null;
}
}
但現在必須考慮額外的複選框,那裏的條件應該是[任何一個選中的複選框+已定義的文本字段 - >激活驗證按鈕]:
<WrapPanel Style="{StaticResource WrapStyle_Inputs}">
<CheckBox Content="Check1" IsChecked="{Binding Checked1, Mode=TwoWay}"/>
<CheckBox Content="Check2" IsChecked="{Binding Checked2, Mode=TwoWay}"/>
<CheckBox Content="Check3" IsChecked="{Binding Checked3, Mode=TwoWay}"/>
</WrapPanel>
你知道我該怎麼做嗎?
謝謝!
謝謝Kent。我已經將該按鈕綁定到一個命令。將看看驗證部分。你有什麼鏈接建議我應該看看? – goul