驗證部分對話框/禁用按鈕 `如何啓用取決於驗證
Imports System.Globalization
Namespace Validation
Public Class ISBNLength
Inherits ValidationRule
Public Overrides Function Validate(value As Object, cultureInfo As CultureInfo) As ValidationResult
If value.ToString.Trim.Length = 10
Return New ValidationResult(True,"")
Else
Return New ValidationResult(False,"Must be a 10 digit number")
End If
End Function
End Class
End Namespace
**XAML**
<materialDesign:PackIcon Kind="BarcodeScan"
Grid.Row="1" Margin="0,0,16,10" />
<TextBox x:Name="TxtISBN"
Grid.Row="1"
materialDesign:HintAssist.Hint="ISBN Number" MaxLength="10" >
<TextBox.Text>
<Binding ElementName="TxtISBN" Path="Text" UpdateSourceTrigger="LostFocus">
<Binding.ValidationRules>
<validation:NotEmpty/>
<validation:ISBNLength/>
</Binding.ValidationRules>
</Binding>
</TextBox.Text>
</TextBox>
<Button
x:Name="BtnAccept"
IsDefault="True"
Command="materialDesign:DialogHost.CloseDialogCommand"
Content="ADD"
IsEnabled="False"
Height="36" Width="90" />
現在我想,如果函數返回false禁用按鈕。
注意:我無法在不創建新實例的情況下訪問對話框。
非常感謝你,你能解釋一下什麼是一個源屬性,因爲我的驗證在這件事上可以正常工作。另外請注意我沒有使用MVVM archicture。 –
你試試我的示例代碼?它工作嗎? – mm8
它工作!謝謝! –