簡體   English   中英

如何在XAML中使按鈕保持禁用狀態(與Textblock有關)?

[英]How can I make a Button stay disable conected to Textblock in XAML?

我有一個想要讓它控制ButtonTextBox 只要在TextBox沒有寫入任何內容,該Button就會被禁用。

您可以使用Style DataTriggerXAML完成所有這些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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM