我有一個<TextBlock x:Key="_tb1"/>和另一個<TextBlock x:Key="_tb2"/>。
IsMouseOver例如,當_tb2 為 true時,如何設定 _tb1 的可見性?
uj5u.com熱心網友回復:
正如@MuhammadSulaiman 正確寫的那樣,x:Key 僅在資源中使用,在布局中不起作用。
您必須在布局中指定 x:Name。
然后這個 XAML 將起作用:
<StackPanel>
<TextBlock x:Name="tb1" Text="Some Text" Background="Transparent"/>
<TextBlock x:Name="tb2" Text="Popup text" Background="LightYellow">
<TextBlock.Style>
<Style TargetType="TextBlock">
<Setter Property="Visibility" Value="Collapsed"/>
<Style.Triggers>
<DataTrigger Binding="{Binding IsMouseOver, ElementName=tb1}"
Value="True">
<Setter Property="Visibility" Value="Visible"/>
</DataTrigger>
</Style.Triggers>
</Style>
</TextBlock.Style>
</TextBlock>
</StackPanel>
uj5u.com熱心網友回復:
x:Key僅允許用于資源和字典元素!當x:Key在<TextBloxk/>.
這是您要實作的示例..
在xml中
<TextBlock Text="AA"
x:Name="AA"
MouseEnter="AA_OnMouseEnter"
MouseLeave="AA_OnMouseLeave"/>
<TextBlock Text="BB"
x:Name="BB"/>
在后面的代碼中
private void AA_OnMouseEnter(object sender, MouseEventArgs e)
{
BB.Visibility = Visibility.Hidden;
}
private void AA_OnMouseLeave(object sender, MouseEventArgs e)
{
BB.Visibility = Visibility.Visible;
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/513337.html
標籤:wpf触发器能见度
