WPF - hide element when hovering a mouse over another elementWPF - How to write a trigger for mouse over of grid?How to get StackPanel's children to fill maximum space downward?How to set MouseOver event/trigger for border in XAML?How to 'Freeze' the UI (main window) when mouse is hovering overIsMouseOver when mouse capturedHow do you show a StackPanel with 3 Buttons, when the mouse is over the parent control?WPF: How to make a Close button on top of a control to show or hide and clickableHow do you show a tooltip in XAML only when the mouse pointer is directly over the elementwpf c# Change mouse hover backgroundHow bubbling up of mouse over works in WPF?
Class Action - which options I have?
Do the temporary hit points from the Battlerager barbarian's Reckless Abandon stack if I make multiple attacks on my turn?
Applicability of Single Responsibility Principle
Lay out the Carpet
Where does the Z80 processor start executing from?
What is the best translation for "slot" in the context of multiplayer video games?
Is expanding the research of a group into machine learning as a PhD student risky?
Would a high gravity rocky planet be guaranteed to have an atmosphere?
How do I go from 300 unfinished/half written blog posts, to published posts?
Trouble understanding the speech of overseas colleagues
Replace character with another only if repeated and not part of a word
Purchasing a ticket for someone else in another country?
Failed to fetch jessie backports repository
Anatomically Correct Strange Women In Ponds Distributing Swords
How to write papers efficiently when English isn't my first language?
Valid Badminton Score?
Crossing the line between justified force and brutality
How can I quit an app using Terminal?
Is HostGator storing my password in plaintext?
What is the intuitive meaning of having a linear relationship between the logs of two variables?
Shortcut for value of this indefinite integral?
Did Dumbledore lie to Harry about how long he had James Potter's invisibility cloak when he was examining it? If so, why?
Arithmetic mean geometric mean inequality unclear
Increase performance creating Mandelbrot set in python
WPF - hide element when hovering a mouse over another element
WPF - How to write a trigger for mouse over of grid?How to get StackPanel's children to fill maximum space downward?How to set MouseOver event/trigger for border in XAML?How to 'Freeze' the UI (main window) when mouse is hovering overIsMouseOver when mouse capturedHow do you show a StackPanel with 3 Buttons, when the mouse is over the parent control?WPF: How to make a Close button on top of a control to show or hide and clickableHow do you show a tooltip in XAML only when the mouse pointer is directly over the elementwpf c# Change mouse hover backgroundHow bubbling up of mouse over works in WPF?
There are some elements in a grid, and all I want is to show/hide the button when a mouse is over a rectangle.
<UserControl ...>
<Grid>
<Rectangle ...>
<Button ...>
</Grid>
</UserControl>
I've tried several triggers but was unsuccessful so far. Please help.
wpf xaml triggers
add a comment |
There are some elements in a grid, and all I want is to show/hide the button when a mouse is over a rectangle.
<UserControl ...>
<Grid>
<Rectangle ...>
<Button ...>
</Grid>
</UserControl>
I've tried several triggers but was unsuccessful so far. Please help.
wpf xaml triggers
add a comment |
There are some elements in a grid, and all I want is to show/hide the button when a mouse is over a rectangle.
<UserControl ...>
<Grid>
<Rectangle ...>
<Button ...>
</Grid>
</UserControl>
I've tried several triggers but was unsuccessful so far. Please help.
wpf xaml triggers
There are some elements in a grid, and all I want is to show/hide the button when a mouse is over a rectangle.
<UserControl ...>
<Grid>
<Rectangle ...>
<Button ...>
</Grid>
</UserControl>
I've tried several triggers but was unsuccessful so far. Please help.
wpf xaml triggers
wpf xaml triggers
asked Mar 8 at 11:34
phantasmphantasm
446412
446412
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
This is what you need:
A datatrigger bound to the Control to trigger it
alternativly you could use a converter sth like a BoolenToInvisibilityConverter
Ps if you want to invert the logic you need to set the visibility in the style as it would be overwritten otherwhise
<StackPanel>
<Rectangle Fill="Red" Height="20" Width="29" Name="MyRect"/>
<Button>
<Button.Style>
<Style TargetType="Button">
<!--<Setter Property="Visibility" Value="Hidden"/>-->
<Style.Triggers>
<DataTrigger Binding="Binding ElementName=MyRect, Path=IsMouseOver" Value="True">
<Setter Property="Visibility" Value="Hidden" />
</DataTrigger>
</Style.Triggers>
</Style>
</Button.Style>
</Button>
</StackPanel>
the trigger-landscape in Wpf can be confusing sometimes, dont worry you will learn to live with it!
It works contrarywise - when mouse is over a button, rectangle becomes invisible. But It should show/hide the button when over a rectangle :)
– phantasm
Mar 8 at 12:21
i updated the answer
– Denis Schaf
Mar 8 at 12:24
thanks, but it has the same problem as Mathivanan's version.
– phantasm
Mar 8 at 12:28
i edited once again check out the line that is comented out just comment it back in and change theSetter
fromHidden
toVisibile
– Denis Schaf
Mar 8 at 12:29
1
You are creating a style. Styles can always be overwritten in your XAML. Imagine a button-style you created that makes all buttons red. If you define one button to be blue it will still be blue as you have overwritten its color. Thats exactly what happens if you set the visibility directly on the element. It will overwrite your style so the parameter needs to be set in the style as well (see answer--> comment)
– Denis Schaf
Mar 8 at 12:33
|
show 1 more comment
Your Answer
StackExchange.ifUsing("editor", function ()
StackExchange.using("externalEditor", function ()
StackExchange.using("snippets", function ()
StackExchange.snippets.init();
);
);
, "code-snippets");
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "1"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);
else
createEditor();
);
function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55062407%2fwpf-hide-element-when-hovering-a-mouse-over-another-element%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
This is what you need:
A datatrigger bound to the Control to trigger it
alternativly you could use a converter sth like a BoolenToInvisibilityConverter
Ps if you want to invert the logic you need to set the visibility in the style as it would be overwritten otherwhise
<StackPanel>
<Rectangle Fill="Red" Height="20" Width="29" Name="MyRect"/>
<Button>
<Button.Style>
<Style TargetType="Button">
<!--<Setter Property="Visibility" Value="Hidden"/>-->
<Style.Triggers>
<DataTrigger Binding="Binding ElementName=MyRect, Path=IsMouseOver" Value="True">
<Setter Property="Visibility" Value="Hidden" />
</DataTrigger>
</Style.Triggers>
</Style>
</Button.Style>
</Button>
</StackPanel>
the trigger-landscape in Wpf can be confusing sometimes, dont worry you will learn to live with it!
It works contrarywise - when mouse is over a button, rectangle becomes invisible. But It should show/hide the button when over a rectangle :)
– phantasm
Mar 8 at 12:21
i updated the answer
– Denis Schaf
Mar 8 at 12:24
thanks, but it has the same problem as Mathivanan's version.
– phantasm
Mar 8 at 12:28
i edited once again check out the line that is comented out just comment it back in and change theSetter
fromHidden
toVisibile
– Denis Schaf
Mar 8 at 12:29
1
You are creating a style. Styles can always be overwritten in your XAML. Imagine a button-style you created that makes all buttons red. If you define one button to be blue it will still be blue as you have overwritten its color. Thats exactly what happens if you set the visibility directly on the element. It will overwrite your style so the parameter needs to be set in the style as well (see answer--> comment)
– Denis Schaf
Mar 8 at 12:33
|
show 1 more comment
This is what you need:
A datatrigger bound to the Control to trigger it
alternativly you could use a converter sth like a BoolenToInvisibilityConverter
Ps if you want to invert the logic you need to set the visibility in the style as it would be overwritten otherwhise
<StackPanel>
<Rectangle Fill="Red" Height="20" Width="29" Name="MyRect"/>
<Button>
<Button.Style>
<Style TargetType="Button">
<!--<Setter Property="Visibility" Value="Hidden"/>-->
<Style.Triggers>
<DataTrigger Binding="Binding ElementName=MyRect, Path=IsMouseOver" Value="True">
<Setter Property="Visibility" Value="Hidden" />
</DataTrigger>
</Style.Triggers>
</Style>
</Button.Style>
</Button>
</StackPanel>
the trigger-landscape in Wpf can be confusing sometimes, dont worry you will learn to live with it!
It works contrarywise - when mouse is over a button, rectangle becomes invisible. But It should show/hide the button when over a rectangle :)
– phantasm
Mar 8 at 12:21
i updated the answer
– Denis Schaf
Mar 8 at 12:24
thanks, but it has the same problem as Mathivanan's version.
– phantasm
Mar 8 at 12:28
i edited once again check out the line that is comented out just comment it back in and change theSetter
fromHidden
toVisibile
– Denis Schaf
Mar 8 at 12:29
1
You are creating a style. Styles can always be overwritten in your XAML. Imagine a button-style you created that makes all buttons red. If you define one button to be blue it will still be blue as you have overwritten its color. Thats exactly what happens if you set the visibility directly on the element. It will overwrite your style so the parameter needs to be set in the style as well (see answer--> comment)
– Denis Schaf
Mar 8 at 12:33
|
show 1 more comment
This is what you need:
A datatrigger bound to the Control to trigger it
alternativly you could use a converter sth like a BoolenToInvisibilityConverter
Ps if you want to invert the logic you need to set the visibility in the style as it would be overwritten otherwhise
<StackPanel>
<Rectangle Fill="Red" Height="20" Width="29" Name="MyRect"/>
<Button>
<Button.Style>
<Style TargetType="Button">
<!--<Setter Property="Visibility" Value="Hidden"/>-->
<Style.Triggers>
<DataTrigger Binding="Binding ElementName=MyRect, Path=IsMouseOver" Value="True">
<Setter Property="Visibility" Value="Hidden" />
</DataTrigger>
</Style.Triggers>
</Style>
</Button.Style>
</Button>
</StackPanel>
the trigger-landscape in Wpf can be confusing sometimes, dont worry you will learn to live with it!
This is what you need:
A datatrigger bound to the Control to trigger it
alternativly you could use a converter sth like a BoolenToInvisibilityConverter
Ps if you want to invert the logic you need to set the visibility in the style as it would be overwritten otherwhise
<StackPanel>
<Rectangle Fill="Red" Height="20" Width="29" Name="MyRect"/>
<Button>
<Button.Style>
<Style TargetType="Button">
<!--<Setter Property="Visibility" Value="Hidden"/>-->
<Style.Triggers>
<DataTrigger Binding="Binding ElementName=MyRect, Path=IsMouseOver" Value="True">
<Setter Property="Visibility" Value="Hidden" />
</DataTrigger>
</Style.Triggers>
</Style>
</Button.Style>
</Button>
</StackPanel>
the trigger-landscape in Wpf can be confusing sometimes, dont worry you will learn to live with it!
edited Mar 8 at 12:28
answered Mar 8 at 11:57
Denis SchafDenis Schaf
81818
81818
It works contrarywise - when mouse is over a button, rectangle becomes invisible. But It should show/hide the button when over a rectangle :)
– phantasm
Mar 8 at 12:21
i updated the answer
– Denis Schaf
Mar 8 at 12:24
thanks, but it has the same problem as Mathivanan's version.
– phantasm
Mar 8 at 12:28
i edited once again check out the line that is comented out just comment it back in and change theSetter
fromHidden
toVisibile
– Denis Schaf
Mar 8 at 12:29
1
You are creating a style. Styles can always be overwritten in your XAML. Imagine a button-style you created that makes all buttons red. If you define one button to be blue it will still be blue as you have overwritten its color. Thats exactly what happens if you set the visibility directly on the element. It will overwrite your style so the parameter needs to be set in the style as well (see answer--> comment)
– Denis Schaf
Mar 8 at 12:33
|
show 1 more comment
It works contrarywise - when mouse is over a button, rectangle becomes invisible. But It should show/hide the button when over a rectangle :)
– phantasm
Mar 8 at 12:21
i updated the answer
– Denis Schaf
Mar 8 at 12:24
thanks, but it has the same problem as Mathivanan's version.
– phantasm
Mar 8 at 12:28
i edited once again check out the line that is comented out just comment it back in and change theSetter
fromHidden
toVisibile
– Denis Schaf
Mar 8 at 12:29
1
You are creating a style. Styles can always be overwritten in your XAML. Imagine a button-style you created that makes all buttons red. If you define one button to be blue it will still be blue as you have overwritten its color. Thats exactly what happens if you set the visibility directly on the element. It will overwrite your style so the parameter needs to be set in the style as well (see answer--> comment)
– Denis Schaf
Mar 8 at 12:33
It works contrarywise - when mouse is over a button, rectangle becomes invisible. But It should show/hide the button when over a rectangle :)
– phantasm
Mar 8 at 12:21
It works contrarywise - when mouse is over a button, rectangle becomes invisible. But It should show/hide the button when over a rectangle :)
– phantasm
Mar 8 at 12:21
i updated the answer
– Denis Schaf
Mar 8 at 12:24
i updated the answer
– Denis Schaf
Mar 8 at 12:24
thanks, but it has the same problem as Mathivanan's version.
– phantasm
Mar 8 at 12:28
thanks, but it has the same problem as Mathivanan's version.
– phantasm
Mar 8 at 12:28
i edited once again check out the line that is comented out just comment it back in and change the
Setter
from Hidden
to Visibile
– Denis Schaf
Mar 8 at 12:29
i edited once again check out the line that is comented out just comment it back in and change the
Setter
from Hidden
to Visibile
– Denis Schaf
Mar 8 at 12:29
1
1
You are creating a style. Styles can always be overwritten in your XAML. Imagine a button-style you created that makes all buttons red. If you define one button to be blue it will still be blue as you have overwritten its color. Thats exactly what happens if you set the visibility directly on the element. It will overwrite your style so the parameter needs to be set in the style as well (see answer--> comment)
– Denis Schaf
Mar 8 at 12:33
You are creating a style. Styles can always be overwritten in your XAML. Imagine a button-style you created that makes all buttons red. If you define one button to be blue it will still be blue as you have overwritten its color. Thats exactly what happens if you set the visibility directly on the element. It will overwrite your style so the parameter needs to be set in the style as well (see answer--> comment)
– Denis Schaf
Mar 8 at 12:33
|
show 1 more comment
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55062407%2fwpf-hide-element-when-hovering-a-mouse-over-another-element%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown