Grid 안에 두개의 사각형이 있는 경우 서로 영향받을수 있도록 처리하기 위해서 DataDataTrigger 를 이용하여 처리합니다.
아래 예시는 하나의 사각형에 마우스가 오버된 경우 다른 사각형 컨트롤이 숨겨져있다가 보여지는 처리를 한 것입니다.
<Window x:Class="WpfAppControlTest.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:WpfAppControlTest"
mc:Ignorable="d"
Title="MainWindow" Height="450" Width="800">
<Grid HorizontalAlignment="Center">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="100"/>
<ColumnDefinition Width="100"/>
</Grid.ColumnDefinitions>
<Rectangle x:Name="B" Grid.Column="0" Fill="Green" Width="100" Height="100"/>
<Rectangle x:Name="C" Grid.Column="1" Fill="Yellow" Width="100" Height="100">
<Rectangle.Style>
<Style TargetType="Rectangle">
<Setter Property="Visibility" Value="Collapsed"/>
<Style.Triggers>
<DataTrigger Binding="{Binding ElementName=B,Path=IsMouseOver}" Value="True">
<Setter Property="Visibility" Value="Visible" />
</DataTrigger>
</Style.Triggers>
</Style>
</Rectangle.Style>
</Rectangle>
</Grid>
</Window>
Grid 의 Trigger 을 통해 처리하는 것은 불가능하며 위 처럼 영향 받고자 하는 컨트롤에 처리를 해주어야합니다.
참고 : stackoverflow.com/questions/4208731/create-a-simple-wpf-trigger-on-one-object-that-affects-another
WPF Expander 사용하기 (0) | 2024.08.28 |
---|---|
WPF ListView 내부 버튼 클릭 시 선택한 Item 가져오기 (0) | 2024.08.28 |
WPF Background="{x:Null}" Background="Transparent" 차이 (0) | 2024.08.13 |
WPF UpdateSourceTrigger란? (0) | 2024.08.13 |
WPF TextBox 에 PlaceHolder 설정하기 (0) | 2024.07.25 |