Wpf 如何在XAML中使按钮保持禁用连接到Textblock?

Wpf 如何在XAML中使按钮保持禁用连接到Textblock?,wpf,xaml,Wpf,Xaml,我有一个文本框,我想让它控制一个按钮。 只要文本框中没有写入任何内容,按钮将被禁用。您必须使用数据绑定和转换器 <TextBlock x:Name="textBlock" /> <Button IsEnabled="{Binding ElementName=textBlock, Path=Text, Converter={StaticResource TextToBoolConverter}}" /> 这会出现在您的页面中: <Page.Resources>

我有一个
文本框
,我想让它控制一个
按钮

只要
文本框中没有写入任何内容,
按钮将被禁用。

您必须使用数据绑定和转换器

<TextBlock x:Name="textBlock" />
<Button IsEnabled="{Binding ElementName=textBlock, Path=Text, Converter={StaticResource TextToBoolConverter}}" /> 
这会出现在您的页面中:

<Page.Resources>
        <local:TextToBoolConverter x:Name="TextToBoolConverter" />
</Page.Resources>

您可以使用
样式
DataTrigger
XAML
中完成这一切

<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="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>