Wpf 属性不会第二次触发
我有4个多边形Wpf 属性不会第二次触发,wpf,inotifypropertychanged,Wpf,Inotifypropertychanged,我有4个多边形 ... xmlns:cm="http://www.caliburnproject.org" ... <Polygon cm:Message.Attach=" [Event MouseEnter] = [Action OnMouseEnter($eventArgs)]; [Event MouseLeave] = [Action OnMouseLeave($eventArgs)]; [Event MouseDown] = [Action OnMouse
...
xmlns:cm="http://www.caliburnproject.org"
...
<Polygon cm:Message.Attach="
[Event MouseEnter] = [Action OnMouseEnter($eventArgs)];
[Event MouseLeave] = [Action OnMouseLeave($eventArgs)];
[Event MouseDown] = [Action OnMouseDown($eventArgs)]">
<Polygon.ToolTip>
<ToolTip Visibility="{Binding Path=TooltipVisibility}" >
...
其他对象上的ISTOLTIPVISION从第三位更改为第三位。我试图执行NotifyOfPropertyChange(()=>myObject.TooltipVisibility)代码>,我尝试运行了NotifyOfPropertyChange(()=>otherObject.IsTooltipVisibility)代码>
有趣的是,如果我将鼠标悬停在一个多边形上,它会显示工具提示,然后我将iStolTipVisibility(通过点击菜单栏中的菜单按钮)更改为false,它不会在第二个多边形上显示工具提示,但仍会在第一个多边形上显示工具提示。第三个不会显示工具提示。更改为true,第四个将显示,但第二个和第三个不会显示
TooltipVisibility属性仅执行一个。我怎样才能让它一直执行?这真是一个奇怪的解决方案。它起作用了。也许应该这样做。但我觉得太复杂了。它应该更简单,代码更少
public void SetTooltipVisibility(bool toShowTooltip) {
if (toShowTooltip) {
_tooltipVisibility = "Visible";
}
else {
_tooltipVisibility = "Hidden";
}
NotifyOfPropertyChange(() => TooltipVisibility);
}
private string _tooltipVisibility = "Visible";
public string TooltipVisibility {
get {
return _tooltipVisibility;
}
}
而不是仅仅设置一个标志
OtherObject.IsTooltipVisibility = true;
额外性我需要
liistOfMyObjects.Apply(o=>o.SetTooltipVisibility(OtherObject.IsTooltipVisibility));
这不是最好的解决办法
我正在等待专业人士展示如何以正确的方式完成这项工作。这真是一个奇怪的解决方案。它起作用了。也许应该这样做。但我觉得太复杂了。它应该更简单,代码更少
public void SetTooltipVisibility(bool toShowTooltip) {
if (toShowTooltip) {
_tooltipVisibility = "Visible";
}
else {
_tooltipVisibility = "Hidden";
}
NotifyOfPropertyChange(() => TooltipVisibility);
}
private string _tooltipVisibility = "Visible";
public string TooltipVisibility {
get {
return _tooltipVisibility;
}
}
而不是仅仅设置一个标志
OtherObject.IsTooltipVisibility = true;
额外性我需要
liistOfMyObjects.Apply(o=>o.SetTooltipVisibility(OtherObject.IsTooltipVisibility));
这不是最好的解决办法
我正在等待一位专业人士展示如何以正确的方式完成这项工作