繁体   English   中英

TextBlock可见性通过按钮悬停更改WPF

[英]TextBlock Visibility change WPF via Button hover

我目前正在编写一个小应用程序,但在以下几点上遇到了问题:

我的按钮在代码中有几个参数,我想在单独的文本块中显示值。

当我将鼠标悬停在按钮上时,是否可以更改文本块的可见性,以便仅在将鼠标悬停在按钮上时才可见参数?

XAML解决方案:

<Grid>
    <Grid.Resources>
        <converters:BooleanToVisibilityConverter x:Key="BooleanToVisibilityConverter"/>
    </Grid.Resources>

    <Grid.RowDefinitions>
        <RowDefinition />
        <RowDefinition />
    </Grid.RowDefinitions>

    <Grid.ColumnDefinitions>
        <ColumnDefinition />
        <ColumnDefinition />
    </Grid.ColumnDefinitions>

    <TextBlock Text="Foo" Visibility="{Binding IsMouseOver, ElementName=Foo, Converter={StaticResource BooleanToVisibilityConverter}}"/>
    <TextBlock Grid.Row="1" Text="Bar" Visibility="{Binding IsMouseOver, ElementName=Bar, Converter={StaticResource BooleanToVisibilityConverter}}"/>

    <Button x:Name="Foo" Grid.Column="1" Content="Foo"/>
    <Button x:Name="Bar" Grid.Row="1" Grid.Column="1" Content="Bar"/>
</Grid>

converters名称空间声明为:

xmlns:converters="clr-namespace:System.Windows.Controls;assembly=PresentationFramework" 

当然可以,使用按钮MouseEnter事件。 像下面这样的东西可以正常工作:

button1_MouseEnter(object sender, EventArgs e)
{
    textBlock1.Visibility = Visibility.Visible;
}

然后将其隐藏,请使用MouseLeave事件:

button1_MouseLeave(object sender, EventArgs e)
{
    textBlock1.Visibility = Visibility.Hidden;
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM