[英]How can I make a Button stay disable conected to Textblock in XAML?
我有一個想要讓它控制Button
的TextBox
。 只要在TextBox
沒有寫入任何內容,該Button
就會被禁用。
您可以使用Style
DataTrigger
在XAML
完成所有這些DataTrigger
。
<TextBlock x:Name="myTextBlock" />
<Button>
<Button.Style>
<Style TargetType="Button">
<Setter Property="IsEnabled" Value="True"/>
<Style.Triggers>
<DataTrigger Binding="{Binding Text.Length, ElementName=myTextBlock}" Value="0">
<Setter Property="IsEnabled" Value="False"/>
</DataTrigger>
</Style.Troggers>
</Style>
</Button.Style>
</Button>
您必須使用數據綁定和轉換器
<TextBlock x:Name="textBlock" />
<Button IsEnabled="{Binding ElementName=textBlock, Path=Text, Converter={StaticResource TextToBoolConverter}}" />
轉換器看起來像這樣:
public class TextToBoolConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, string language)
{
var text = value as string;
if (text.Length > 0)
{
return true;
}
return false;
}
public object ConvertBack(object value, Type targetType, object parameter, string language)
{
return value;
}
}
這在您的頁面中:
<Page.Resources>
<local:TextToBoolConverter x:Name="TextToBoolConverter" />
</Page.Resources>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.