1

强文本我在 MergedDictionary 中定义了一种样式(见下文)。它确实为我的应用程序中的所有分隔条添加了光标样式。它完美地工作......直到......

问题是风格突然消失了。我有一个包含其他第 3 方控件的文档的 ActiPro DockSite。当我将文档添加到我的 dockSite 时,样式消失了。

我试过:

  1. 清理 App.Resources.MergedDictionaries
  2. 用一组新的 ResourceDictionary 填充 App.Resources.MergedDictionaries
  3. 使用 mainWindow.ApplyTemplate() 重新应用窗口模板;

但没有成功。风格不想再次出现。它被困在微软风格的应用程序行为的黑暗中,我真的不知道。但可以肯定的是,我的 MergedDictionary 还活着,但不想露面。

它可能来自任何地方。但是我怎样才能找到有问题的代码,我该如何解决呢?任何人都可以帮助我!我很绝望。谢谢 !

2013 年 9 月 30 日更新。我窥探并在底部添加结果。但是我发现了一个很有趣的东西,在做了一些鼠标交互之后,风格又回来了。事实上,我认为它从未消失过。唯一的问题可能是其他制造商的行为应该进行鼠标捕获或类似的操作,这会覆盖我的默认鼠标样式。我会做更多的调查。

<Style TargetType="GridSplitter">
    <Setter Property="Template">
        <Setter.Value>
            <ControlTemplate TargetType="GridSplitter">

                <Rectangle Fill="{TemplateBinding Background}"></Rectangle>

                <ControlTemplate.Triggers>
                    <Trigger Property="ResizeDirection" Value="Columns">
                        <Setter Property="Cursor" Value="SizeNS"></Setter>
                    </Trigger>
                    <Trigger Property="ResizeDirection" Value="Rows">
                        <Setter Property="Cursor" Value="SizeWE"></Setter>
                    </Trigger>
                </ControlTemplate.Triggers>
            </ControlTemplate>
        </Setter.Value>
    </Setter>
</Style>

Snoop 之前的结果:

在此处输入图像描述

之后的窥探结果(对我来说似乎相同):

在此处输入图像描述

4

1 回答 1

0

我找到了自己的答案。问题不是消失的样式,而是代码 18。问题出在距离屏幕 18 英寸(约 50 厘米)处......我!

我在加载 DockingDocument 时将 Mouse.OverrideCursor 更改为 Hourglass,但将 OverrideMouse 设置回 Mouses.Arrow 而不是 null。

感谢 Eran 的支持。窥探它告诉我风格仍然存在,让我在其他地方搜索。

于 2013-09-30T14:20:23.527 回答